Apakah tugas tunggal Android atau multitasking dan multithreading?

18

Saya mencoba memahami mengapa saya tidak bisa terus mendengarkan audio dari video YouTube di Galaxy S 2 saya saat pindah ke aplikasi lain misalnya membaca artikel wikipedia di browser.

apakah ada batasan arsitektur yang mencegah hal ini di Gingerbread (mudah-mudahan akan dihapus di ICS) atau apakah hanya cara Google membuat aplikasi YouTube?

Sunting : mencoba aplikasi YouTube di ICS 4.0.3 hari ini dan berperilaku sama seperti di Gingerbread: (((

Davide Piras
sumber
8
Saya menganggap itu hanya aplikasi YouTube. Google Musik (dan hampir setiap aplikasi musik lain yang telah saya coba) akan terus diputar jika aplikasi dimatikan, atau bahkan jika layar dimatikan (YouTube berhenti jika layar mati juga).
Dylan Yaga

Jawaban:

17

Video rendering, yang harus terjadi bahkan jika aplikasi tidak "aktif" tetapi masih diputar, akan menggunakan lebih banyak baterai daripada "penggunaan normal". Jadi, jika Anda tidak "menonton" video, itu berhenti agar tidak menghabiskan daya baterai yang berharga.

Ryan Conrad
sumber
ya tapi menggunakan YouTube sebagai radio, itu bisa menonaktifkan rendering video dan hanya memutar audio! :)
Davide Piras
6
Anda bisa - tetapi itu bukan bagaimana aplikasi Youtube dirancang;)
lxgr
19

Ini bukan batasan Android, tetapi "fitur" dari aplikasi Youtube untuk menghemat sumber daya.

Jika Anda ingin menggunakan Youtube sebagai pemutar musik, saya pikir Anda harus dapat menemukan aplikasi yang memungkinkan Anda melakukan hal itu di pasaran.

TubeMate memungkinkan Anda hanya mendengarkan audio dari file Youtube (Anda harus mengunduhnya terlebih dahulu), dan itu seharusnya berfungsi di latar belakang.

lxgr
sumber
3

Jika Anda menginginkan aplikasi android yang memungkinkan pengelolaan fleksibel protokol streaming Youtube dengan cara yang akan mendukung pemilihan hanya bagian audio dari aliran media saat membuang trek video, perhatikan VLC untuk android . Ini masih 'dalam pengembangan' tetapi mungkin akan membahas fitur 'audio saja'.

Dari perspektif yang lebih teknis, membantu memecah masalah menjadi protokol jaringan Youtube yang tersedia untuk streaming media RTSP. Spesifikasi RTSP memungkinkan klien untuk membuat permintaan menggunakan perintah DESCRIBE di mana server merespons dengan segmen data SDP (lihat detail di bawah). Server Youtube dapat merespons dalam berbagai protokol, mengirimkan aliran yang mendasarinya yang pada gilirannya menggunakan beragam penyandian - satu untuk audio, satu untuk video - untuk mentransfer bit media melintasi jaringan ke klien. Melalui jaringan seluler, fitur yang masuk ke youtube untuk menerima trek audio dan video sebelum membuang video sambil memutar audio saja bukan praktik yang baik karena persyaratan jaringan yang berat untuk aliran video yang tidak digunakan. Anda dapat mengatasi ketidakefisienan jaringan dengan beberapa penelusuran teknis lebih lanjut.

Standar RTSP dan SDP yang diamati oleh Youtube akan memungkinkan klien streaming (perangkat android) HANYA meminta Audio selama langkah jabat tangan Klien / Server dan langkah negosiasi di sekitar pengaturan koneksi jaringan yang akan melakukan streaming media. Dalam hal ini, tidak ada video yang akan dikirim dan pemutar android akan dikonfigurasi pada streaming audio saja. Beberapa detail perintah CLI dan beberapa detail protokol pada skenario 'youtube audio only' ini mengikuti.

Youtube, format audio track hanya untuk video tertentu tersedia di UTS RTSP berikut:

rtsp://v8.cache8.c.youtube.com/CigLENy73wIaHwlcw_gs85OUchMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp

Dari RTSP URI untuk seluruh video (trek audio plus trek video), ekspresi CLI berikut ini menggunakan 2 klien media openRTSP dan mPlayer pergi ke Youtube di mana ia GETS / MAINKAN hanya trek audio Youtube dengan hanya meminta saluran = 1 .

./openRTSP -a rtsp://v8.cache8.c.youtube.com/CigLENy73wIaHwlcw_gs85OUchMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp | ./mplayer -cache 8092 - -rawaudio channels=1:rate=8000:samplesize=2:format=0x73616D72

Ekspresi CLI ini dijelaskan lebih lanjut dalam tautan di bagian bawah.

'Umpan' Youtube menjelaskan format aliran yang tersedia untuk setiap video Youtube, termasuk RTSP URI yang disebutkan di atas. Untuk penjelasan Tek tentang format streaming Youtube, lihat entri untuk 'format' 1,5,6 di tabel panjang.

Permintaan berikut mendapat umpan dari Youtube yang mencakup RTSP URI beragam format yang tersedia untuk video tertentu:

http://gdata.youtube.com/feeds/api/users/rowntreerob/uploads?vq=cpST8yz4w1w&prettyprint='true'

Detail lengkap dari STSION RTSP yang terhubung di mana deskripsi lengkap SDP diminta untuk video youtube tertentu sehingga hanya trek audio yang dapat di-stream / diputar ada di sini .

Kunci untuk baris bernomor di tautan di atas:

82 – the RTSP DESCRIBE request
101 – the SDP response
103 – video track’s format
116 – the attributes describing the audio track
line 165 – the audio track setup by the player
184 – the audio-only playback
201 – using a separate CLI expression this is playback of a previous download on just the audio track
rowntreerob
sumber