Я использую следующую библиотеку для потоковой передачи видео с YouTube в приложение Android.
Я успешно могу воспроизводить видео на телефонах HTC и Motorola через 3G и Wifi. Однако на телефонах Samsung Galaxy (Epic 4G) и Samsung Galaxy II я могу воспроизводить видео только через Wifi. 3G выдает такую ошибку: "Не удается воспроизвести видео. Извините, это видео не может быть воспроизведено."
Я пробовал принудительно включить низкое качество потоковой передачи YouTube, но это не помогло. В журнале я вижу, что Start()
вызывается в обоих случаях (3G/Wifi). Это проблема с VideoView? Есть ли обходной путь?
Edit 2
Видео поступает из YouTube API. Я пробовал использовать встроенный и обычный потоки, а также поток самого низкого качества (разное качество для каждого видео). Кроме того, я не думаю, что это проблема кодирования, так как те же видео правильно воспроизводятся с помощью Wifi.
Edit 1
Я также получаю следующий результат независимо от того, воспроизводится ли видео через Wifi или нет через 3G.
01-30 15:22:38.305: E/MediaPlayer(3831): error (1, -1)
01-30 15:22:38.305: E/MediaPlayer(3831): callback application
01-30 15:22:38.305: E/MediaPlayer(3831): back from callback
01-30 15:22:38.309: E/MediaPlayer(3831): Error (1,-1)
Согласно этой ссылке, эти ошибки означают следующее (я думаю):
/*
Definition of first error event in range (not an actual error code).
*/
const PVMFStatus PVMFErrFirst = (-1);
/*
Return code for general failure
*/
const PVMFStatus PVMFFailure = (-1);
/*
/*
Return code for general success
*/
const PVMFStatus PVMFSuccess = 1;
/*
Далее добавляется путаница.