Позвольте мне сначала заявить, что я не знаю Java. Я разработчик .NET с солидными навыками работы с C#, но на самом деле я одновременно пытаюсь изучать Java и Android SDK (я знаю, что это, вероятно, не идеально, но да ладно, я предприимчив :))
Тем не менее, моя конечная цель — написать потоковый медиаплеер для Android, который может принимать потоки Windows Media. Я могу ограничиться Android 2.0 и более поздними версиями, если мне это нужно. Мое текущее устройство — Motorola Droid под управлением Android 2.0.1. Есть одна служба онлайн-радио, которую я неукоснительно слушаю на своем ПК, которая предлагает только потоковую передачу Windows Media, и я хотел бы перекодировать поток, чтобы мое устройство Android могло его воспроизводить.
Возможно ли такое? Если да, будет ли это возможно (т. Е. Будет ли это слишком интенсивно использовать ЦП и убивать батарею)? Должен ли я пытаться сделать это с помощью NDK в собственном коде вместо Java? Я не против написать какую-то промежуточную службу, которая работает на настольном компьютере (даже на C#), но в идеале я хотел бы сначала изучить варианты, основанные исключительно на устройстве. С чего начать?
Заранее благодарим за любую информацию, которую вы можете предоставить!
2 ответа
Наличие прокси-сервера на вашем ПК, который захватывает аудиовыход Windows, кодирует его и отправляет на ваш телефон, вполне возможно. У меня было подобное лет 8 назад на линуксовом кпк (sharp zaurus). Хитрость заключается в том, что вы не пытаетесь декодировать или получать доступ к радиопотоку XM напрямую, вы просто записываете то, что отправляется на динамики на вашем рабочем столе, и повторно отправляете его. Из-за перекодирования будет небольшое снижение качества звука, но это не должно быть слишком плохо.
Я выполнил транскодирование из облака в телефон с помощью альфа-версии облачных служб Android. Транскодирование прозрачно выполняется на сервере, а полученный поток передается на телефон. Может стоит посмотреть. http://positivelydisruptive.blogspot.com/ 08/2010/streaming-m4a-files-using-android-cloud.html
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.