Воспроизвести записанный файл Android на ПК - PullRequest
0 голосов
/ 21 ноября 2011

Я использую приведенный ниже код для записи голоса.

Но, когда я играю этот записанный файл на ПК.Ни один музыкальный проигрыватель не может играть.в то время как в телефоне он играет очень хорошо.

Доза Кто-нибудь может сказать, как я могу воспроизвести записанный файл Android на настольном компьютере или ноутбуке.

Код, который я использую.1009 * Спасибо.

Ответы [ 3 ]

1 голос
/ 05 декабря 2011

Я думаю, что вижу вашу проблему в вашем коде, вы сказали использовать кодек 3gp для записи аудио

recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);

но вы используете расширение .wav, это заставит компьютер думать, что вы использовали другой кодек для записи файла (волновой кодек). Я считаю, что телефон игнорирует расширение файла и вместо этого проверяет метаданные файла, чтобы получить фактический используемый кодек, и поэтому телефон может воспроизводить его.

Таким образом, либо вам придется изменить формат вывода, чтобы использовать вместо него волну, либо лучшей идеей (поскольку даже короткие аудиоклипы в формате волны имеют огромный размер файла) было бы изменить расширение файла на 3gp, так что это поможет

String FILENAME="/compare1.3gp";

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

теперь для более подробного описания того, что происходит: Кодеки похожи на язык в том смысле, что это набор правил, определяющих, какие символы и шаблоны используются для представления звука, так же, как язык использует слова и шаблоны слов (например, предложение или абзац), чтобы передать то, что пытается сказать человек. , так что провести аналогию,

ваш телефон записывает звуковой файл на английском языке, а затем говорит на обложке, что эта книга написана на греческом языке. Теперь вы даете файл на компьютер. Компьютер знает греческий, и это то, что говорит обложка, чтобы использовать, и поэтому читает, думая, как будто это где, но так как греческий и английский совсем не похожи при написании. все, что он видит, это то, что выглядит как тарабарщина, он не устанавливает связи, что файл может быть на другом языке, он идет строго по тому, что на обложке и что он нашел, не греческий, поэтому он не может его прочитать. Ваш телефон, с другой стороны, просматривает информацию о файле, и там он может видеть, что автор использовал английский, когда писал его, поэтому телефон начинает читать файл, как если бы он был на английском языке, и так как его содержимое было идеальным чувствовал к телефону и воле, что он мог воспроизводить музыку, потому что он мог понимать инструкции по воспроизведению музыки.

0 голосов
/ 11 декабря 2015

Я использую код из руководства по Android, и у меня была такая же проблема. Я решил это с помощью другого аудио кодера:

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

Надеюсь, эта помощь.

0 голосов
/ 22 ноября 2011

Каково ваше выходное имя файла ... что-то вроде compare1.wav.3gp?Переименуйте его в сравнение.3gp

И что вы используете на ПК?VLC должен быть в состоянии воспроизвести ваш файл.Я не думаю, что эта проблема связана с записью Android, скорее это может быть проблема ПК-не-в-состоянии-играть-3gp

...