Воспроизвести mp3 файл при загрузке? - PullRequest
7 голосов
/ 27 декабря 2010

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

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

Ответы [ 3 ]

1 голос
/ 06 января 2011

Я не верю, что android обеспечивает требуемую функциональность. Но есть один обходной путь, который я знаю, который может сработать.

http://code.google.com/p/android/issues/detail?id=739 - это открытая заявка с большим количеством обсуждений, связанных с тем, что вы описываете. В 5-м комментарии видение со звуком говорит

Однако, в качестве обходного пути, я затем направляю свои синтезированные данные во временные файлы, так же, как вы рассматриваете возможность потоковой передачи своих потоков HTTP в файлы для последующего воспроизведения этих файлов через MediaPlayer. [...] Похоже, что ваша проблема может быть решена за счет большего контроля над буферизацией MediaPlayer, потому что вы по существу объединяете потоки через некоторый механизм кэширования (буфер) ...

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

Извините, этот ответ настолько расплывчатый, но вы въезжаете на территорию, которую до этого пытались немногие. Удачи.

1 голос
/ 17 июля 2012

Для устройств Android 2.3 и более ранних версий вам необходимо полностью удалить заголовок ответа Content-Disposition.Это приведет к тому, что браузер вызовет аудиопроигрыватель по выбору пользователя.

Попробуйте здесь: http://declinefm.com/archives выберите архив по вашему выбору и нажмите на ссылку для скачивания.

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

У меня есть учебник, который я написал вдохновенно для вашего поста:

http://rudd -o.com / linux-and-free-software / как правильно передавать потоковое аудио с вашего сайта-лака

Наслаждайтесь!

0 голосов
/ 06 января 2011

RTSP или HTTP?Если вы используете HTTP, вы можете попытаться удалить заголовок Content-Length, который на некоторых мобильных устройствах позволит немедленно вызвать проигрыватель.Звучит так, как будто вы прокачиваете данные через локальное приложение.Как вы сейчас проигрываете файл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...