我正试图直接从我的应用程序上传视频。我使用的是SDK MyToolkit,它很棒,但也有一些bug。
这是我的源代码:
protected override void OnBackKeyPress(CancelEventArgs e)
{
if (YouTube.CancelPlay())
e.Cancel = true;
base.OnBackKeyPress(e);
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
YouTube.CancelPlay(); // used to reenable page
base.OnNavigatedTo(e);
}
private void OnPlay(object sender, RoutedEventArgs args)
{
YouTube.Play(id, true, YouTubeQuality.Quality480P, e =>
{
if (e != null)
MessageBox.Show(e.Message);
});
}
private void btnYoutube_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
YouTube.Play(id, true, YouTubeQuality.Quality480P, ex =>
{
if (ex != null)
{
MessageBox.Show("...");
}
});
}此代码不会生成错误,但打开视频链接时会出现以下消息:
“对不起,我们不能在你的手机上播放这个文件”
我在xaml中使用YoutubeButton:
<Controls:YouTubeButton x:Name="btnYoutube" Tap="btnYoutube_Tap" Height="269"/>我发现了这个问题的可能原因。我查看了其他视频,它们运行的很好,符合这段代码。然而,视频通道VEVO不能被使用。有人知道解决这个问题的办法吗?
发布于 2013-07-30 09:47:00
恐怕这是YouTube的限制。不完全确定如何解除它,但相当数量的视频被标记为总部或有一个“非移动”标志。某些频道也只允许桌面浏览,而更改手机上的浏览器版本(移动版与桌面版)没有帮助。
甚至不确定是否有可能在Windows设备上上传视频。
一个建议是查看YouTube开发人员页面,看看上传时是否有可以编程设置的标记。
https://stackoverflow.com/questions/17930397
复制相似问题