воспроизведение аудио с MPMoviePlayerViewController - PullRequest
0 голосов
/ 08 августа 2011

Ссылка на приложение iOS TabController ...

Документы Apple утверждают, что класс AVAudioPlayer не обеспечивает поддержку потокового аудио на основе URL-адресов HTTP.AVAudioPlayer воспроизводит только музыку, встроенную в iApp, с файлом: // в качестве URL.

Учитывая это, я использую MPMoviePlayerViewController для воспроизведения этих сохраненных в Интернете аудио / mp3-файлов, которые он может обрабатывать.

Это определенно работает.Я начинаю с UIView с текстом песни.В самом низу этого UIView находится кнопка «Play».Пользователь нажимает эту кнопку, и воспроизводится аудио / mp3;однако изображение аудио / QuickTime ((Q)) выходит на передний план, а текст исчезает и будет оставаться в стороне до тех пор, пока пользователь не нажмет «Готово».Я хочу, чтобы аудио / mp3 воспроизводились в фоновом режиме, а текст песни оставался впереди.

Кстати, мне действительно не нужно, чтобы кнопка «Готово» была видна, потому что пользовательможно остановить звук, просто выбрав другую вкладку.

Очевидно, что переход к фону для AV-файла имеет смысл, поскольку объект MPMoviePlayerController предназначен для воспроизведения видео, и видео должно выходить на передний план.Это согласуется с тем, что звук также уходит на задний план ... за исключением того, что мне нужен способ победить изображение аудио / QuickTime ((Q)), идущее впереди.

Я вставил код, чтобы определить, если онбыл аудиофайл (mp3), в отличие от видеофайла (mp4).Пока все хорошо ... и затем, если это был аудиофайл, в моем реальном воспроизводящем сегменте у меня есть:

if ( NSClassFromString(@"MPMoviePlayerViewController") )
{
    if (!isAudioFile)
    {
        [senderViewController
         presentMoviePlayerViewControllerAnimated:moviePlayerViewController_];
    }
}

[moviePlayerController_ play];

Это на самом деле работает, то есть я фактически слышу mp3 на заднем плане,с лирикой впереди и графикой audio / QuickTime ((Q)) не отображается ...

НО, что происходит, ужасно, то есть кнопка "Готово" показывает поверхлирика я говорил с каким-то неизвестным ???букв там.

1 Ответ

0 голосов
/ 27 сентября 2011

Следующий ответ взят из правки на вопрос:

if ( NSClassFromString(@"MPMoviePlayerViewController") )
{
    if (!isAudioFile)
    {
        [senderViewController
         presentMoviePlayerViewControllerAnimated:moviePlayerViewController_];
    }
    else
    {
        [moviePlayerController_ setControlStyle:MPMovieControlStyleNone];
    }
}

FWIW, мне действительно не нужна кнопка «Готово», потому что, как только я перехожу на другую вкладку, либо новую музыку, либо видео, изначально воспроизводимая музыка останавливается, и начинается новый AV-файл.

...