在后台模式下使用MPMoviePlayerController播放流音频

时间:2012-05-29 17:00:39

标签: c# iphone xamarin.ios mpmovieplayercontroller

我的第一个问题......

我一直在寻找如何解决这个问题我使用monotouch启动应用程序创建我的MPMoviePlayerController,如下所示:

this.mp = new MPMoviePlayerController(new NSURL("http://stream3.dyndns.org:1935/iphone/xeco.stream/playlist.m3u8"));
this.mp.useApplicationAudioSession=false //also try with true
this.mp.PrepareToPlay();
this.mp.Play();

一切都很好,我听到音频

注意:

我已经搜索了如何修复此问题并在我的plist文件中添加UIBackgroundModes和字符串音频尽可能多的成员建议。 (使用monotouch中提供的plist编辑器)。还要添加此代码以设置我的音频会话的类别:

AudioSession.Initialize();
AudioSession.Interrupted += delegate{
Console.Writeline("interrupted");
}
AudioSession.Category = AudioSessionCategory.MediaPlayback; //also try ambientsound and others

问题是:

当应用程序进入后台,设备阻止或按下主页按钮时,如何保持音频播放?

当按下主页或阻止设备时,流似乎总是静音,当我返回应用程序时,音频很快就会启动,这让我觉得该应用程序一直在流式传输,但只是没有听到。

我只在Iphone模拟器上测试,我开始认为这可能只是在模拟器上引起的。有什么建议吗?

提前感谢。

更新:

我在iOS开发计划上收到monotouch的许可证和我的注册,所以我在设备上测试我的应用程序。它的工作原理,重要的部分是在AudioSession部分:

AudioSessionCategory.MediaPlayback;

当使用播放器时:

this.mp.useApplicationAudioSession=false

1 个答案:

答案 0 :(得分:1)

我在iOS开发计划上收到monotouch的许可证和我的注册,所以我在设备上测试我的应用程序。它的工作原理,重要的部分是在AudioSession部分:

AudioSessionCategory.MediaPlayback;

当使用播放器时:

this.mp.useApplicationAudioSession=false

该应用在该设备上运行良好。 Monotouch规则!