我的MPMoviePlayerController有问题,即我正在以(m3u8格式)MPMoviePlayer播放直播url,如下所示:
player = [[MPMoviePlayerController alloc] initWithContentURL:audioUrl];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(loadStateDidChange:)
name:MPMoviePlayerLoadStateDidChangeNotification
object:player];
if ([player respondsToSelector:@selector(loadState)])
{
// Set movie player layout
[player setMovieSourceType:MPMovieSourceTypeStreaming];
[player setControlStyle:MPMovieControlModeVolumeOnly];
[player setFullscreen:YES];
[player prepareToPlay];
[player play];
}
}
它在模拟器和;ios 5版本的iPad设备,但它没有提供我拥有的任何iPhone设备中的音频。
请帮帮我。。。谢谢,提前。
simham先生。。。检查下面的网址,它有助于我们成为
-
移动safari中的呼叫流url。如果结果相同,那么您的代码是正确的,而流不是。这将是一个错误编码的音频流。
-
它还取决于带宽,参考url以下关于带宽检查一次。。。。根据BandWith ,u r ref流URL准备
参考网址:
- http://wfmu.org/ssaudionet.shtml
- 苹果
您正在向controlStyle
属性分配一个不推荐使用的MPMovieControlMode
(MPMovieControlModeVolumeOnly
),该属性需要一个MPMovieControlStyle
。
此外,您的代码缺少为任何超视图分配MPMoviePlayerController.view
的部分,并且缺少其大小调整。
最后,但我想对你来说最重要的是,我猜你正在尝试的iPhone已经将音量设置为静音。或者,可能没有将音频路由设置为扬声器输出。对于后者,请确保您没有在应用程序的其他位置错误地设置音频会话。如果有疑问,请尝试篡改useApplicationAudioSession
属性。试着将它设置为NO
,看看这是否会改变你的结果。
如果以上所有操作都失败,那么一个额外的检查将是调用mobilesafari中的流url。如果结果相同,那么您的代码是正确的,而流不是。这将是一个错误编码的音频流。
检查您的iPhone是否处于扬声器模式-
如果不使用此设置
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
检查iPhone是否处于静音模式。要在静音模式下播放音频,请在AppDelegate的应用程序中添加以下代码:didFinishLaunchingWithOptions:
NSError *setCategoryErr = nil;
NSError *activationErr = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error:&setCategoryErr];
[[AVAudioSession sharedInstance] setActive:YES error:&activationErr];