Я пытаюсь понять, почему я не могу слушать аудио видео YouTube на моем Galaxy S 2 при переходе в другое приложение, например, читая статью в википедии в браузере.
Есть ли какие-либо архитектурные ограничения, которые препятствуют этому в Gingerbread (надеюсь, будут удалены в ICS), или это только способ, которым Google сделал приложение YouTube?
Изменить : сегодня опробовал приложение YouTube в ICS 4.0.3 и ведет себя так же, как в Gingerbread: (((
4.0-ice-cream-sandwich
youtube
multitasking
Давиде Пирас
источник
источник
Ответы:
Рендеринг видео, который должен произойти, даже если приложение не является «активным», но все еще воспроизводится, потребляет намного больше энергии, чем «обычное использование». Поэтому, если вы не «смотрите» видео, оно останавливается, чтобы не тратить драгоценное заряд батареи.
источник
Это не ограничение Android, а «особенность» приложения Youtube для сохранения ресурсов.
Если вы хотите использовать Youtube в качестве музыкального проигрывателя, я думаю, вы сможете найти приложение, которое позволит вам делать именно это на рынке.
TubeMate позволяет вам слушать только аудио из файла Youtube (хотя вы должны скачать его заранее), и это должно работать в фоновом режиме.
источник
Если вы хотите приложение для Android, которое бы позволяло гибко управлять потоковыми протоколами Youtube таким образом, чтобы поддерживать выбор только аудио части медиапотока при отбрасывании видеодорожки, следите за VLC для Android . Он все еще находится в стадии разработки, но, вероятно, будет включать функцию «только аудио».
С технической точки зрения это помогает разбить проблему на доступные сетевые протоколы Youtube для потоковой передачи мультимедиа RTSP., Спецификации RTSP позволяют клиенту сделать запрос с помощью команды DESCRIBE, на которую сервер отвечает сегментом данных SDP (подробности см. Ниже). Серверы Youtube могут отвечать различными протоколами, отправляя базовые потоки, которые, в свою очередь, используют различные кодировки - одну для аудио, одну для видео - для передачи битов мультимедиа по сети клиенту. В мобильных сетях функция, которая идет на YouTube для получения аудио- и видеодорожек перед удалением видео при воспроизведении только аудио, не является хорошей практикой из-за высокой нагрузки на сеть для неиспользуемого видеопотока. Вы можете обойти неэффективность сети с помощью дальнейшего технического анализа.
Стандарты RTSP и SDP, соблюдаемые Youtube, позволяют потоковому клиенту (устройству Android) запрашивать ТОЛЬКО аудио на этапах рукопожатия клиент / сервер и этапах согласования настройки сетевого соединения, которое будет выполнять потоковую передачу мультимедиа. В этом случае видео не будет отправлено, а проигрыватель Android будет настроен только на аудиопоток. Ниже приводятся некоторые подробности команды CLI и некоторые детали протокола в этом сценарии «только для аудио YouTube».
YouTube-дорожка формата 1 только для аудиодорожки для определенного видео доступна по следующему URI RTSP:
Из URI RTSP для всего видео (аудиодорожка плюс видеодорожка) в следующем выражении CLI используются 2 медиа-клиента openRTSP и mPlayer, идущие на Youtube, где он затем ПОЛУЧАЕТ / ИГРАЕТ только аудиодорожку Youtube, запрашивая только channel = 1 .
Это выражение CLI дополнительно описано в ссылке внизу.
Каналы YouTube описывают доступные форматы потоков для любого видео Youtube, включая URI RTSP, упомянутые выше. Техническое объяснение потоковых форматов Youtube см. В записи «format» 1,5,6 в длинной таблице.
Следующий запрос получает канал с Youtube, который включает различные URI RTSP различного формата, доступные для этого конкретного видео:
Окровавленная Подробная информация о подключаемом RTSP сеансе , в котором полное описание SDP испрашиваются для конкретного видео YouTube и так , что только звуковая дорожка может быть потоковыми / Воспроизводится здесь .
Ключ к пронумерованным строкам в ссылке выше:
источник