我遇到了MPMoviePlayerController的问题,即我正在播放(m3u8格式)MPMoviePlayer中的直播网址,如下所示:
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设备中提供音频。
请帮帮我... 提前谢谢。
答案 0 :(得分:3)
您正在为MPMovieControlMode
属性分配一个已弃用的MPMovieControlModeVolumeOnly
(controlStyle
),该属性需要MPMovieControlStyle
。
此外,您的代码缺少将MPMoviePlayerController.view
分配给任何超级视图的部分,并且缺少其大小调整。
最后但我猜对你来说最重要的是,我猜你正在尝试的iPhone已经将音量设定为沉默。或者,音频路由可能未设置为扬声器输出。对于后者,请确保您没有在应用程序中的任何其他位置错误地设置音频会话。如有疑问,请尝试摆弄useApplicationAudioSession
属性。尝试将其设置为NO
,看看是否会改变您的结果。
如果以上都失败了,那么另外一项检查就是在移动版Safari中调用stream-url。如果它具有相同的结果,那么您的代码是正确的,而流不是。那么它将是一个错误编码的音频流。
答案 1 :(得分:3)
在移动版Safari中调用stream-url。如果它具有相同的结果,那么您的代码是正确的,而流不是。那么它将是一个错误编码的音频流。
它取决于带宽也低于ref url关于带宽检查一次.... u r ref流URL准备,根据BandWith
参考网址:
答案 2 :(得分:2)
检查您的iPhone是否处于扬声器模式 -
如果不是使用此设置 -
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
答案 3 :(得分:0)
检查iPhone是否处于静音模式。要在静音模式下播放音频,请在 AppDelegate&#39> 应用程序中添加以下代码:didFinishLaunchingWithOptions:
NSError *setCategoryErr = nil;
NSError *activationErr = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error:&setCategoryErr];
[[AVAudioSession sharedInstance] setActive:YES error:&activationErr];