Звук воспроизводится только через наушники на некоторых устройствах с MPMoviePlayerController - PullRequest
4 голосов
/ 09 февраля 2012

У меня странная проблема для всех вас.

MPMoviePlayerController нормально воспроизводит видео, а звук воспроизводится ТОЛЬКО через наушники.

Реальное сопротивление заключается в том, чтоэто происходит только на некоторых iPad и iPhone, даже на ОДНИХ ТОЧНЫХ МОДЕЛЯХ, использующих ОДНУ ТОЧНУЮ СИСТЕМУ!

Я создал простой пример с ошибками:

http://www.porcaro.org/MPMoviePlayerController/TestMovie.zip

Я видел, что он отлично работает и не работает на iPhone 4S, iPhone 4 и iPad 2.

Вот наиболее подходящий код.Спасибо за понимание, я собираюсь также сообщить об ошибке в Apple:

(void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];


    moviePath = [NSString stringWithFormat:@"%@/intro.m4v", [[NSBundle mainBundle] bundlePath]];
    NSURL *movieURL = [NSURL fileURLWithPath:moviePath];
    theMoviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];

    controlStyle = MPMovieControlStyleEmbedded;
    movieView = [self view];
    movieRect = [[self view] frame];
    controlStyle = MPMovieControlStyleFullscreen;

    theMoviePlayer.controlStyle = controlStyle;
    theMoviePlayer.view.userInteractionEnabled = YES;

    if (1) {
        NSLog(@"Created theMoviePlayer: %@.  Playing: %@", theMoviePlayer, moviePath);
    }

    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackStateDidChangeNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                          selector:@selector(checkForEndOfMovie:)
                                          name:MPMoviePlayerPlaybackStateDidChangeNotification
                                          object:theMoviePlayer];

    // this line doesn't fix the problem                                                                                                       
    //[theMoviePlayer prepareToPlay];                                                                                                          
    [[theMoviePlayer view] setFrame:movieRect];
    [movieView addSubview: [theMoviePlayer view]];
    [theMoviePlayer play];
}

Ответы [ 2 ]

5 голосов
/ 30 сентября 2012

Это старый вопрос, но, возможно, он кому-нибудь поможет.Я столкнулся с той же проблемой и обнаружил, что это происходит, когда телефон находится только в беззвучном режиме.

Решение состоит в том, чтобы установить для свойства useApplicationAudioSession проигрывателя значение false.

[theMoviePlayer setUseApplicationAudioSession:NO];
0 голосов
/ 21 марта 2013

Эта проблема была со мной, когда я проигрывал видео на iPad 2 с помощью mpMoviePlayer.Видео воспроизводилось отлично, но звук появляется только при подключенных наушниках.

Решение для решения проблемы:

[theMoviePlayer setUseApplicationAudioSession:NO];
...