在iPhone中播放视频和音频无法正常工作
问题描述:
因此,我们通过点击按钮来显示图像/视频/音频,具体取决于我们之前做过的检查。这部分工作正常。它知道要播放哪一个,但是,当我们点击视频和音频按钮时,什么也没有发生。图像工作正常。在iPhone中播放视频和音频无法正常工作
视频和音频正在网上拍摄的URL,他们不是本地的,但到处都表示这仍然是可能的。下面是我们播放这两个文件的代码的一小段代码:
if ([fName hasSuffix:@".png"])
{
NSLog(@"PICTURE");
NSURL *url = [NSURL URLWithString:
fName];
UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]];
self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
// self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"MainBG.jpg"]];
[self.view addSubview:[[UIImageView alloc] initWithImage:image]];
}
if ([fName hasSuffix:@".mp4"])
{
NSLog(@"VIDEO");
//NSString *path = [[NSBundle mainBundle] pathForResource:fName ofType:@"mp4"];
//NSLog(path);
NSURL *url = [NSURL fileURLWithPath:fName];
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:url];
[player play];
}
if ([fName hasSuffix:@".mp3"])
{
NSLog(@"AUDIO");
NSURL *url = [NSURL fileURLWithPath:fName];
NSData *soundData = [NSData dataWithContentsOfURL:url];
AVAudioPlayer *avPlayer = [[AVAudioPlayer alloc] initWithData:soundData error: nil];
[avPlayer play];
}
看到有什么不对吗?顺便说它编译和运行,但是当我们点击执行代码的按钮时没有任何反应。
答
我不确定他们为什么不玩,是否会达到视频和音频条件?您目前缺少
无论哪种方式,你播放的电影
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(movieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification object:player];
然后,您将需要的函数来处理回调
-(void)movieFinishedCallback:(NSNotification *)notification{
NSLog(@"MOVIE FINISHED");
if(player == [notification object]){
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification object:player];
[player release];
player = nil;
}
}
前