MPMoviePlayerController流媒体视频无法在iPad上播放音频

时间:2014-08-22 07:26:06

标签: ios audio mpmovieplayercontroller http-streaming

这可能是一个愚蠢的问题。但是,不知道问题究竟在哪里。我尝试通过http视频流传输MPMoviePlayercontroller流式传输(HLS)很好。但是,音频不能在真实设备上工作(在模拟器中工作)这是我的代码,

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://mydomain:1935/coder/%@/playlist.m3u8", self.streamField.text]];
theMoviPlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
theMoviPlayer.controlStyle = MPMovieControlStyleFullscreen;
theMoviPlayer.movieSourceType = MPMovieSourceTypeStreaming;
theMoviPlayer.view.transform = CGAffineTransformConcat(theMoviPlayer.view.transform, CGAffineTransformMakeRotation(M_PI_2));
UIWindow *backgroundWindow = [[UIApplication sharedApplication] keyWindow];
[theMoviPlayer.view setFrame:backgroundWindow.frame];
[backgroundWindow addSubview:theMoviPlayer.view];
[theMoviPlayer play];

有人为此工作过吗?我只收到有关音频问题的设备。

修改

我试过下面的一个,

NSURL *url = [NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"];
MPMoviePlayerViewController  *player = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
[self presentMoviePlayerViewControllerAnimated:player];

这个(仅限于safari的网址)可以在带有音频的Safari浏览器的iPad和模拟器iPad上正常工作。但是,除了模拟器之外,不能在iPad上作为应用程序使用。

1 个答案:

答案 0 :(得分:11)

首先添加AVFoundation.framework并添加以下代码。

<。>文件中的

 #import <AVFoundation/AVFoundation.h>

和.m文件

 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];