【问题标题】:Audio Streaming in windows phone app (no Silverlight)Windows Phone 应用程序中的音频流(无 Silverlight)
【发布时间】:2015-09-01 20:22:21
【问题描述】:
我正在尝试在我的 Windows Phone 应用中播放来自流服务器的音频流。我在 Microsoft 文档上读到我必须参考音频流代理。
我的解决方案中有这些项目:
我尝试在我的 Windows Phone 8.1 应用程序中引用一个新项目作为音频流代理
但我一直收到错误:
我读到我必须更改目标框架,但 AudioStreamAgent1 属性中没有目标框架选项。
另外,我可以使用非 Silverlight 类型的应用程序来执行此操作吗?有没有不使用 Silverlight 的方法?
【问题讨论】:
标签:
c#
silverlight
windows-phone-8.1
audio-streaming
【解决方案1】:
问题是AudioSteamAgent是针对WP Silverlight的,而你的实际应用是WP8.1 (WinRT)。
要在 WP8.1 中创建背景音频,您需要使用 Background Media Player.
您可以找到一个很好的入门指南here。
但基本上(没有所有样板代码来连接所有内容),它归结为告诉 BMP 播放什么(代码来自上面的链接):
BackgroundMediaPlayer.Current.SetUriSource(new Uri("ms-appx:///Assets/Media/Ring02.wma"));
BackgroundMediaPlayer.Current.Play();
并告诉操作系统播放器控制要显示的内容,以及当用户与它们交互时要执行的操作:
systemmediatransportcontrol = SystemMediaTransportControls.GetForCurrentView();
systemmediatransportcontrol.ButtonPressed += systemmediatransportcontrol_ButtonPressed;
systemmediatransportcontrol.PropertyChanged += systemmediatransportcontrol_PropertyChanged;
systemmediatransportcontrol.IsEnabled = true;
systemmediatransportcontrol.IsPauseEnabled = true;
systemmediatransportcontrol.IsPlayEnabled = true;
systemmediatransportcontrol.IsNextEnabled = true;
systemmediatransportcontrol.IsPreviousEnabled = true;
这一切都假设您希望用户能够离开应用程序并继续播放媒体。如果您只想在用户在应用中时流式传输音频/视频,您可以使用MediaElement 控件。