0

MPMoviePlayer を使用して、アプリでローカル ビデオ ファイルを再生しています。ファイルは .mov 形式です。シミュレーターでアプリを実行すると、正常に動作します。しかし、iPhone で実行すると、動画が無音で実行されます。ここに私のコードがあります、

    self.currUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Gun_Shot" ofType:@"mov"]];
    if (self.mpc)
     {
       [self.mpc release];
       self.mpc = nil;
     }
    self.mpc =  [[MPMoviePlayerController alloc]
             initWithContentURL:self.currUrl];   
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:self.mpc];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackLoadStateDidChange:) name:MPMoviePlayerLoadStateDidChangeNotification object:self.mpc];   
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidEnterFullScreen:) name:MPMoviePlayerDidEnterFullscreenNotification object:self.mpc];    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidExitFullScreen:) name:MPMoviePlayerDidExitFullscreenNotification object:self.mpc]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackNowPlayingContinues:) name:MPMoviePlayerNowPlayingMovieDidChangeNotification object:self.mpc];  
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackStateChanged:) name:MPMoviePlayerPlaybackStateDidChangeNotification object:self.mpc];

    self.mpc.controlStyle = MPMovieControlStyleNone;
    self.mpc.shouldAutoplay = NO;
    self.mpc.view.frame = CGRectMake(0, 0, self.mpView.frame.size.width, self.mpView.frame.size.height);
    [self.mpView addSubview:self.mpc.view];
    [self.mpView bringSubviewToFront:self.topMainView];
    [self.mpView bringSubviewToFront:self.bottomMainView];
    [self.mpc prepareToPlay];
    self.timeLbl.text = [NSString stringWithFormat:@"%f Sec(s)", self.mpc.duration];

アプリを iPhone で実行すると、ビデオがミュートになった理由がわかりません。どんな助けでも大歓迎です..

4

1 に答える 1

1

コードを見ずに。理由の 1 つは、iPhone がサイレント モードになっていることです。

この回答も役立つかもしれません。

于 2013-03-28T11:50:10.447 に答える