- Ошибка Android MediaPlayer (1, -2147483648)
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Ответ 4
- Ответ 5
- Ответ 6
- Ответ 7
- Ответ 8
- Ответ 9
- Ошибка Android MediaPlayer (1, -2147483648)
- Ошибка медиаплеера Android (1, -2147483648)
- Ошибка Android MediaPlayer (1, -2147483648)
- 9 ответов
- Android MediaPlayer Error (1, -2147483648) при воспроизведении mp3 локально
Ошибка Android MediaPlayer (1, -2147483648)
У меня есть два разных видео, которые я пытаюсь загрузить в VideoView , используя
Два видео, пусть они будут видео 1 и видео 2, имеют следующие спецификации (извлеченные с помощью ffmpeg -i ); на самом деле, это два разных кодировки одного и того же видео:
Я знаю, что поддержка AAC пришла с Honeycomb, и поэтому я тестировал видео с нескольких устройств; результаты приведены ниже:
- SGS II with custom 4.0.3 OS(Sensation ROM 3.4 with CF-Root kernel) — Video 1:OK — Video2:OK
- SGS I with Samsung 2.3.3 OS — Video 1:error (1, -2147483648) — Video 2:OK
- SGS I with custom 4.0.3 OS(ICS SGS TEAM ROM with Devil kernel) — Video 1:error (1, -2147483648) — Video 2:OK
- Nexus One with original 2.3.6 OS — Video 1:See (1) below — Video 2:See (2) below
- Emulator with 2.2 OS — Video 1:error (1, -2147483648) — Video 2:error (1, -2147483648)
- Emulator with 4.0.3 OS — Video 1:error (1, -2147483648) — Video 2:error (1, -2147483648)
Оба видео отлично воспроизводятся в Google Chrome на ПК. Возможно, было бы полезно добавить, что в случае OK видео и аудио воспроизводятся правильно. В случае ошибки (1, -2147483648) тот же журнал извергается со всех устройств (кроме Nexus One):
В случае (1) из Nexus One извергается следующий журнал, и видео никогда не загружается:
В случае (2) из Nexus One извергается следующий журнал, и, как вы можете видеть, заканчивается ошибка (1, -2147483648):
Из того, что я прочитал, ошибка (1, -2147483648) может соответствовать неподдерживаемым кодекам, поврежденным метаданным или неправильным заголовкам файлов. Если это так, не могли бы вы указать мне в правильном направлении, чтобы использовать какой кодек? Благодарю.
ОТВЕТЫ
Ответ 1
Просто чтобы прояснить что-то для тех, кто читает этот вопрос на основе названия.
При просмотре значения ошибки (1, -2147483648) значение ‘1’ соответствует константе в MediaPlayer.MEDIA_ERROR_UNKNOWN.
-2147483648 соответствует шестнадцатеричному 0x80000000, который определен как UNKNOWN_ERROR в frameworks/native/include/utils/Errors.h
Это показывает, что источник ошибок трудно скопировать, поскольку это довольно общее возвращаемое значение, выведенное кодеком и проблемы совместимости, как упомянуто выше, но также отмену потоков и несколько других типов.
Для вашей проблемы я рекомендовал бы рекомендовать поддерживаемые Android форматы мультимедиа с совместимыми версиями Android и посмотреть, является ли тип кодировки причиной вашего проблема, но, как упоминалось выше, ответ Неизвестной ошибки может быть вызван рядом проблем.
Ответ 2
Для потоковой передачи на сайте Android есть примечание:
Для контейнеров 3GPP и MPEG-4 атом moov должен предшествовать любому mdat атомов, но должен преуспеть в атоме ftyp.
Я получил ту же ошибку перед перемещением атома moov . Чтобы исправить это, вы можете использовать mp4Box с помощью этой команды:
Большинство моих видеороликов могут транслироваться после этого. Если это не сработает, попробуйте это с помощью ffmpeg:
Есть и другие инструменты, которые вы можете найти здесь.
Ответ 3
Соблюдайте тип носителя и разрешение вашего устройства. Ошибка error (1, -2147483648) часто появляется, когда ваш тип видеокодека, кодеки или разрешение не поддерживаются вашим устройством.
Ознакомьтесь с типом носителя, поддерживаемым Android, в документации:
Например, мы можем заметить, что устройство выше 3.0 поддерживает .mp4, но не все из них поддерживают HD 720p.
Ответ 4
У меня была аналогичная проблема. В моем случае видео будет хорошо воспроизводиться, когда я сначала скачал его на телефон, а затем воспроизвел его. Но когда я попытался использовать Progressive HTTP, я бы получил ту же ошибку, отмеченную в OP.
Я подтвердил, что атомы ftyp, moov и mdat находятся в правильном порядке. Оказалось, что проблема была значением поля ftyp. Он был установлен на «qt». Я использовал MP4Box для извлечения треков и создания нового файла mp4, у которого ftyp был установлен как ‘isom’. Этот новый файл отлично работал для Progressive HTTP.
Ответ 5
Я также получаю такую же MEDIA_ERROR_UNKNOWN ошибку при воспроизведении видео (rtsp).
В моем случае я нахожу проблему с моим Wi-Fi. Некоторые причины безопасности wifi ограничены для протокола RTSP. Чтобы я столкнулся с этой ошибкой MEDIA_ERROR_UNKNOWN. После проверки с разрешениями сети.
Когда я перехожу к мобильным данным для воспроизведения видео, он отлично работает для меня. Может быть, это будет полезно тем, кто сталкивается с такой же ошибкой:).
Ответ 6
В моем случае ошибка произошла из-за того, что медиаплеер не имеет прав доступа к файлу локально сохраненного видео. Попробуйте сохранить видео в каталоге /mnt/sdCARD .
Ответ 7
Я столкнулся с той же проблемой, но то, что я сделал на моей стороне, —
Во-первых, я останавливаю медиаплеер, а затем выгружаю его.
Ответ 8
Я решил это так же, как указано в ответе @nam-trung, однако, поскольку мои видео уже были h264 и mp4, мне нужно было выполнить следующие для каждого файла:
После этого все видео работали в VideoView при запуске на всех устройствах, которые я тестировал при запуске API v19 по v25.
Ответ 9
В моем случае эта проблема была вызвана URL-адресом мультимедиа с пробелами! Вот исправление:
Источник
Ошибка Android MediaPlayer (1, -2147483648)
У меня есть два разных видео, которые я пытаюсь загрузить в VideoView , используя
Два видео, пусть они будут видео 1 и видео 2, имеют следующие спецификации (извлеченные с помощью ffmpeg -i ); на самом деле, это два разных кодировки одного и того же видео:
Я знаю, что поддержка AAC пришла с Honeycomb, и поэтому я тестировал видео с нескольких устройств; результаты приведены ниже:
- SGS II with custom 4.0.3 OS(Sensation ROM 3.4 with CF-Root kernel) — Video 1:OK — Video2:OK
- SGS I with Samsung 2.3.3 OS — Video 1:error (1, -2147483648) — Video 2:OK
- SGS I with custom 4.0.3 OS(ICS SGS TEAM ROM with Devil kernel) — Video 1:error (1, -2147483648) — Video 2:OK
- Nexus One with original 2.3.6 OS — Video 1:See (1) below — Video 2:See (2) below
- Emulator with 2.2 OS — Video 1:error (1, -2147483648) — Video 2:error (1, -2147483648)
- Emulator with 4.0.3 OS — Video 1:error (1, -2147483648) — Video 2:error (1, -2147483648)
Оба видео отлично воспроизводятся в Google Chrome на ПК. Возможно, было бы полезно добавить, что в случае OK видео и аудио воспроизводятся правильно. В случае ошибки (1, -2147483648) тот же журнал извергается со всех устройств (кроме Nexus One):
В случае (1) из Nexus One извергается следующий журнал, и видео никогда не загружается:
В случае (2) из Nexus One извергается следующий журнал, и, как вы можете видеть, заканчивается ошибка (1, -2147483648):
Из того, что я прочитал, ошибка (1, -2147483648) может соответствовать неподдерживаемым кодекам, поврежденным метаданным или неправильным заголовкам файлов. Если это так, не могли бы вы указать мне в правильном направлении, чтобы использовать какой кодек? Благодарю.
Источник
Ошибка медиаплеера Android (1, -2147483648)
у меня есть два разных видео, которые я пытаюсь загрузить в VideoView используя
два видео, пусть они будут видео 1 и видео 2, имеет следующие технические характеристики (взяты с использованием ffmpeg -i ); по сути, это две разные кодировки одного и того же видео:
я знаю, что поддержка AAC пришел с Honeycomb, и поэтому я протестировал видео с несколькими устройствами; результаты приведены ниже:
- SGS II with custom 4.0.3 OS(Sensation ROM 3.4 with CF-Root kernel) — Video 1:OK — Video2:OK
- SGS I with Samsung 2.3.3 OS — Video 1:error (1, -2147483648) — Video 2:OK
- SGS I with custom 4.0.3 OS(ICS SGS TEAM ROM with Devil kernel) — Video 1:error (1, -2147483648) — Video 2:OK
- Nexus One with original 2.3.6 OS — Video 1:See (1) below — Video 2:See (2) below
- Emulator with 2.2 OS — Video 1:error (1, -2147483648) — Video 2:error (1, -2147483648)
- Emulator with 4.0.3 OS — Video 1:error (1, -2147483648) — Video 2:error (1, -2147483648)
оба видео отлично воспроизводятся в Google Chrome на ПК. Может быть полезно добавить, что в случае OK видео и аудио воспроизводятся правильно. В случае ошибки (1, -2147483648) тот же журнал извергается со всех устройств (кроме Nexus One):
в случае (1) следующий журнал извергается из Nexus One, и видео никогда не загружается:
в случае (2) следующий журнал извергается из Nexus One и, как вы можете видеть, заканчивается ошибкой (1, -2147483648):
из того, что я прочитал, Ошибка (1, -2147483648) может соответствовать неподдерживаемым кодекам, поврежденным метаданным или неправильным заголовкам файлов. Если это так, не могли бы вы указать меня в правильном направлении как использовать, какой кодек? Спасибо.
Источник
Ошибка Android MediaPlayer (1, -2147483648)
у меня есть два разных видео, которые я пытаюсь загрузить в VideoView используя
два видео, пусть они будут видео 1 и видео 2, имеют следующие спецификации (извлеченные с помощью ffmpeg -i ); по сути, это две разные кодировки одного и того же видео:
я знаю, что поддержка AAC пришел с Honeycomb, и поэтому я протестировал видео с несколькими устройствами; результаты приведены ниже:
- SGS II with custom 4.0.3 OS(Sensation ROM 3.4 with CF-Root kernel) — Video 1:OK — Video2:OK
- SGS I with Samsung 2.3.3 OS — Video 1:error (1, -2147483648) — Video 2:OK
- SGS I with custom 4.0.3 OS(ICS SGS TEAM ROM with Devil kernel) — Video 1:error (1, -2147483648) — Video 2:OK
- Nexus One with original 2.3.6 OS — Video 1:See (1) below — Video 2:See (2) below
- Emulator with 2.2 OS — Video 1:error (1, -2147483648) — Video 2:error (1, -2147483648)
- Emulator with 4.0.3 OS — Video 1:error (1, -2147483648) — Video 2:error (1, -2147483648)
оба видео отлично воспроизводятся в Google Chrome на ПК. Было бы полезно добавить, что в случае OK видео и аудио воспроизводятся правильно. В случае ошибки (1, -2147483648) тот же журнал извергается со всех устройств (кроме Nexus One):
в случае (1) следующий журнал извергается из Nexus One, и видео никогда не загружается:
в случае (2) следующий журнал извергается из Nexus One и, как вы можете видеть, заканчивается ошибкой (1, -2147483648):
из того, что я прочитал, Ошибка (1, -2147483648) может соответствовать неподдерживаемым кодекам, поврежденным метаданным или неправильным заголовкам файлов. Если это так, не могли бы вы указать меня в правильном направлении как использовать, какой кодек? Спасибо.
9 ответов
просто уточнить что-то для тех, кто читает этот вопрос на основе названия.
при взгляде на значение ошибки (1, -2147483648) значение » 1 » соответствует константе в медиаплеер.MEDIA_ERROR_UNKNOWN.
-2147483648 соответствует шестнадцатеричному 0x80000000, который определяется как UNKNOWN_ERROR в фреймворках / native/include/utils / Errors.h
Это показывает, что источник ошибки трудно определить, поскольку это довольно общий возврат значение, вызванное проблемами кодека и совместимости, Как упоминалось выше, а также отменой потоков и несколькими другими типами.
для вашей проблемы я бы рекомендовал проконсультироваться с Android Поддерживаемые Форматы Мультимедиа С совместимыми версиями Android и посмотреть, является ли тип кодировки причиной вашей проблемы, но, как упоминалось выше, неизвестный ответ на ошибку может быть вызван рядом проблем.
для потоковой передачи на сайте Android есть примечание:
для контейнеров 3GPP и MPEG-4 атом moov должен предшествовать любому mdat атомы, но должны следовать за атомом ftyp.
я получил ту же ошибку перед перемещением moov атом. Чтобы исправить это, вы можете использовать mp4Box С помощью этой команды:
большинство моих видео могут транслироваться после этого. Если это не работает, попробуйте это с ffmpeg:
есть другие инструменты, которые вы можете найти здесь.
позаботьтесь о типе носителя поддержки и разрешении вашего устройства. Ошибка error (1, -2147483648) часто, появляются, когда ваш тип видео носителя, кодеки или разрешение не поддерживается устройством.
проверка типа носителя, поддерживаемого Android в документации:
например, мы можем заметить, что устройство выше 3.0 поддержка .mp4, но не все из них поддерживают HD 720p.
У меня была аналогичная проблема. В моем случае видео будет воспроизводиться нормально, когда я сначала загрузил его на телефон, а затем воспроизвел его. Но когда я пытался использовать прогрессивный HTTP, я бы получил ту же ошибку, отмеченную в OP.
Я проверил, что атомы ftyp, moov и mdat были в правильном порядке. Оказалось, что проблема заключалась в значении поля ftyp. Он был установлен на «qt». Я использовал MP4Box для извлечения треков и создания нового файла mp4, в котором ftyp установлен в «isom». Этот новый файл отлично работал для прогрессивного HTTP.
Я также получаю то же самое MEDIA_ERROR_UNKNOWN ошибка воспроизведения видео(rtsp).
в моем случае я нахожу проблему с моим wifi. Некоторые причины безопасности wifi ограничен для протокола RTSP. Так что я сталкиваюсь с этой проблемой ошибки MEDIA_ERROR_UNKNOWN. После проверки с сетевыми разрешениями.
когда я перехожу на мобильные данные для воспроизведения видео, он отлично работает для меня. Может быть, это будет полезно, кто сталкивается с такой же ошибкой :).
в моем случае ошибка была вызвана тем, что mediaplayer не имеет прав доступа к локально сохраненному видео. Попробуйте сохранить видео на .
Я сталкиваются с той же проблемой ,но то, что я сделал на моей стороне
сначала я останавливаю медиаплеер, а затем выпускаю его.
Я решил это аналогично тому, как указано в ответе @nam-trung, однако, поскольку мои видео уже были кодек H264 и МР4 все, что мне нужно было бежать на каждый файл:
после этого все видео работали в VideoView при запуске на всех устройствах, которые я тестировал при запуске API v19 через v25.
в моем случае эта проблема была вызвана URL-адресом носителя с пробелами! Вот исправление:
Источник
Android MediaPlayer Error (1, -2147483648) при воспроизведении mp3 локально
Вскоре после того, как Android 4.4 вышел из моего кода, который работал правильно, так как 2.2 внезапно перешел на ошибку.
Мой код будет запрашивать базу данных музыки для данного музыкального файла. Путь возвращается в запросе, и этот путь затем передается на MediaPlayer.
В конечном итоге я получаю бесполезное сообщение Error (1, -2147483648) в своем LogCat.
Я также попытался заменить
Но это создает исключение FileNotFoundException для нового FileInputStream (. ):
java.io.FileNotFoundException:/storage/emulated/0/Music/The XX/Islands.mp3: open failed: EACCES (Permission denied)
Это интересно, потому что путь, возвращаемый запросом, начинается с «/storage/emulated/. «, но если я посмотрю в представлении DDMS в Eclipse, фактический путь будет «/mnt/shell/emulated/. «. Это нормально?
Несмотря на это, если я изменил префикс пути вручную на то, что я вижу в файловом проводнике, я все равно получаю исключение FileNotFoundException в новом FileInputStream (. ):
java.io.FileNotFoundException:/mnt/shell/emulated/0/Music/The XX/Islands.mp3: open failed: EACCES (Permission denied)
То же исключение. Что с этим правом отказало в бизнесе? До Киткат он работал нормально. Я также с тех пор добавил разрешение:
Мое приложение имеет эту строку в манифесте:
Кто-нибудь кажется чем-то похожим и нашел решение этой неизвестной ошибки? MP3, которые я пытаюсь воспроизвести, отлично работает в Play Music и другом приложении для музыкальных плееров, что заставляет меня думать, что проблема не является отсутствующим кодеком.
EDIT:
Я проверил сразу же после запроса содержимого, если файл существует, и путь не возвращается.
Как это возможно? Я попытался запросить внутренние носители вместо этого, но не возвращает никаких результатов (как ожидалось)
Источник