2010-11-13 20 views
5

Tôi muốn để khởi động trực tiếp đến các cầu thủ của YouTube trên Windows Phone 7.Làm thế nào để khởi động một URL YouTube trên Windows Phone 7

tôi đã cố gắng sử dụng WebBrowserTask và đưa ra một URL YouTube, nó mở ra trình duyệt và mang lại cho tôi đến một trang có hình thu nhỏ của video trên YouTube, tôi cần nhấp vào hình thu nhỏ trước khi video phát.

Tôi muốn bỏ qua nhấp chuột bổ sung. Tôi thích người dùng nhấp vào một nút trong ứng dụng của tôi và nó sẽ phát video trực tiếp. Có cách nào để làm điều đó?

Trả lời

0

Không. Mabe trong phiên bản tiếp theo của hệ điều hành sẽ là tùy chọn cho người chọn và người ăn trưa.

0

Để hiển thị video từ YouTube, bạn sẽ cần Trình phát video cho YouTube. Nếu không, bạn sẽ cần phải viết bộ giải mã tùy chỉnh sẽ nhận luồng YouTube và hiển thị nó trong MediaElement.

0

Vì bạn đã phát hiện ra điều này hiện không khả thi.

Hiện không có cách nào để khởi chạy một ứng dụng khác, ngoài việc sử dụng Trình chạy hoặc Trình chọn.

Trên trang web YouTube, các video riêng lẻ có thể được định cấu hình để tự động phát. Tôi không biết cách để ghi đè điều này.

Tuy nhiên, trên điện thoại, điều này khác. YouTube sử dụng flash để phát video nhưng Flash hiện không được hỗ trợ trên điện thoại. Chỉ có thể phát video YouTube nếu ứng dụng YouTube được cài đặt. Khi bạn mở trang web youtube bằng webbrowsertask, người dùng phải nhấp vào hình ảnh để khởi chạy trình phát.
Nếu các trang web có thể khởi chạy ứng dụng mà không yêu cầu hành động của người dùng thì đây có thể là vấn đề bảo mật lớn.

N.B. Ứng dụng YouTube có các đặc quyền nâng cao đặc biệt, thường không có sẵn, để có thể khởi chạy theo cách của nó.

8

Một khi bạn đã cài đặt ứng dụng Youtube, từ bên trong bạn ứng dụng mà bạn có thể bắt đầu WebBrowserTask và làm follwing:

 Regex Youtube = new Regex("youtu(?:\\.be|be\\.com)/(?:.*v(?:/|=)|(?:.*/)?)([a-zA-Z0-9-_]+)");    

     Match youtubeMatch = Youtube.Match(YOUTUBE_VIDEO_URL);   

     string id = string.Empty; 

     if (youtubeMatch.Success) 
      id = youtubeMatch.Groups[1].Value; 

     WebBrowserTask webBrowserTask = new WebBrowserTask(); 


     webBrowserTask.URL = "vnd.youtube:"+ id +"?vndapp=youtube_mobile"; 
     webBrowserTask.Show(); 

Điều đó sẽ khởi động trình duyệt, sau đó tự động khởi động App Youtube. Chúc mừng!

+0

Cảm ơn! Điều này phù hợp với tôi, có cách nào để BACK về ứng dụng của tôi sau khi video kết thúc không? –

+1

Theo như tôi biết, chưa. Phương pháp được mô tả hiện tại chỉ là giải pháp thay thế và người dùng không cần nhấn hai lần vào nút quay lại để quay lại ứng dụng của bạn. Rất tiếc, tại thời điểm này, chúng tôi không thể theo dõi hoặc có bất kỳ phương thức ủy quyền nào cho biết phim đã ngừng phát. – EdGs

+1

Thuộc tính URL đã lỗi thời và URI chỉ mất URI tuyệt đối phải làm gì trong trường hợp này? –

1

Cố gắng sử dụng sau mẫu;

WebBrowserTask webBrowserTask = new WebBrowserTask(); 
    webBrowserTask.Uri = new Uri("http://www.youtube.com/embed/V3oJR5IAMxM?autoplay=1"); 
    webBrowserTask.Show(); 

video này sẽ mở trực tiếp nhưng tôi nghĩ bạn sẽ phải nhấp đúp để quay lại.

+0

Welldone Teoman, điều này làm việc cho tôi. – jade

1

Hiện có giải pháp cho điều đó. Bạn có thể sử dụng giao thức vnd.youtube để khởi chạy ứng dụng YouTube từ Microsoft và phát.

C#

Windows.System.Launcher.LaunchUriAsync(

new System.Uri("vnd.youtube:9bZkp7q19f0") 

); 

Đáng tiếc là phương pháp Launcher.LaunchUriAsync chỉ làm việc với các thiết bị Windows Phone 8 và xa hơn nữa.

Các vấn đề liên quan