在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; 
    } 
}