ภารกิจเดี่ยวหรือมัลติทาสกิ้งและมัลติเธรดของ Android คืออะไร


18

ฉันพยายามที่จะเข้าใจว่าทำไมฉันไม่สามารถฟังเสียงวิดีโอ YouTube บน Galaxy S 2 ของฉันในขณะที่ย้ายไปยังแอปพลิเคชันอื่นเช่นการอ่านบทความวิกิพีเดียบนเบราว์เซอร์

มีข้อ จำกัด ด้านสถาปัตยกรรมใดบ้างที่ป้องกันไม่ให้เกิดปัญหานี้ใน Gingerbread (หวังว่าจะถูกลบใน ICS) หรือเป็นวิธีเดียวที่ Google สร้างแอปพลิเคชัน YouTube

แก้ไข : ทดลองใช้งานแอปพลิเคชัน YouTube ใน ICS 4.0.3 วันนี้และทำงานเหมือนกับใน Gingerbread: (((


8
ฉันคิดว่ามันเป็นเพียงแอปพลิเคชัน YouTube Google Music (และเกือบทุกแอพเพลงอื่น ๆ ที่ฉันได้ลอง) จะยังคงเล่นต่อไปหากมีการสลับแอพหรือแม้ว่าหน้าจอจะปิดอยู่ (YouTube หยุดลงหากหน้าจอปิดอยู่เช่นกัน)
Dylan Yaga

ที่เกี่ยวข้อง: android.stackexchange.com/questions/3079/…
Flow

คำตอบ:


17

การแสดงผลวิดีโอซึ่งจะต้องเกิดขึ้นแม้ว่าแอปพลิเคชั่นจะไม่ "แอ็คทีฟ" แต่ยังคงเล่นอยู่จะใช้แบตเตอรีมากกว่าปกติ "การใช้งานปกติ" ดังนั้นหากคุณไม่ได้ "ดู" วิดีโอมันจะหยุดเพื่อไม่ให้เปลืองพลังงานแบตเตอรี่อันมีค่า


ใช่ แต่หากจะใช้ YouTube เป็นวิทยุมันสามารถปิดการแสดงผลวิดีโอและเล่นเฉพาะเสียงได้! :)
Davide Piras

6
คุณทำได้ - แต่นั่นไม่ใช่วิธีการออกแบบแอพ Youtube;)
lxgr

19

มันไม่ได้เป็นข้อ จำกัด ของ Android แต่เป็น "คุณสมบัติ" ของแอพ Youtube เพื่ออนุรักษ์ทรัพยากร

หากคุณต้องการใช้ Youtube เป็นเครื่องเล่นเพลงฉันคิดว่าคุณควรหาแอปพลิเคชั่นที่ช่วยให้คุณทำเช่นนั้นได้อย่างแน่นอนในตลาด

TubeMate ให้คุณฟังเฉพาะไฟล์เสียงของ Youtube (คุณต้องดาวน์โหลดล่วงหน้า) และควรทำงานในพื้นหลัง


3

หากคุณต้องการแอพ Android ที่จะช่วยให้การจัดการยืดหยุ่นของโปรโตคอลการสตรีม Youtube ในรูปแบบที่จะสนับสนุนการเลือกเฉพาะส่วนเสียงของสตรีมสื่อในขณะที่ทิ้งแทร็กวิดีโอให้จับตาดูVLC สำหรับ Androidสำหรับหุ่นยนต์ มันยังอยู่ภายใต้การพัฒนา แต่อาจจะกล่าวถึงคุณลักษณะ 'เสียงเท่านั้น'

จากมุมมองทางเทคนิคมากขึ้นก็จะช่วยให้การทำลายปัญหาลงไปใช้ได้โปรโตคอลเครือข่าย Youtube RTSP. รายละเอียด RTSP อนุญาตให้ไคลเอนต์ทำการร้องขอโดยใช้คำสั่ง DESCRIBE ที่เซิร์ฟเวอร์ตอบสนองด้วยส่วนข้อมูล SDP (ดูรายละเอียดด้านล่าง) เซิร์ฟเวอร์ Youtube สามารถตอบสนองในโปรโตคอลที่หลากหลายส่งสตรีมพื้นฐานที่จะใช้การเข้ารหัสที่หลากหลาย - หนึ่งสำหรับเสียงหนึ่งสำหรับวิดีโอ - เพื่อถ่ายโอนบิตสื่อข้ามเครือข่ายไปยังลูกค้า ผ่านเครือข่ายมือถือคุณลักษณะที่ไปที่ YouTube เพื่อรับทั้งแทร็กเสียงและวิดีโอก่อนที่จะทิ้งวิดีโอในขณะที่เล่นเฉพาะเสียงเท่านั้นไม่ใช่วิธีปฏิบัติที่ดีเนื่องจากความต้องการเครือข่ายจำนวนมากสำหรับสตรีมวิดีโอที่ไม่ได้ใช้ คุณสามารถหลีกเลี่ยงเครือข่ายที่ไม่มีประสิทธิภาพด้วยการเจาะลึกเทคนิคเพิ่มเติม

มาตรฐาน RTSP และ SDP ที่ตรวจพบโดย Youtube จะอนุญาตให้สตรีมมิ่งไคลเอนต์ (อุปกรณ์ android) ร้องขอเฉพาะเสียงในระหว่างขั้นตอนการจับมือไคลเอ็นต์ / เซิร์ฟเวอร์และขั้นตอนการเจรจารอบการตั้งค่าการเชื่อมต่อเครือข่ายที่จะทำการสตรีมสื่อ ในกรณีนี้จะไม่มีการส่งวิดีโอและโปรแกรมเล่น android จะถูกกำหนดค่าในสตรีมเสียงเท่านั้น รายละเอียดคำสั่ง CLI บางส่วนและรายละเอียดโปรโตคอลบางอย่างในสถานการณ์นี้ 'youtube audio only' เป็นไปตาม

youtube, format 1 audio track เท่านั้นสำหรับวิดีโอนั้น ๆ มีให้ที่ RTSP URI ต่อไปนี้:

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

จาก RTSP URI สำหรับวิดีโอทั้งหมด (แทร็กเสียงบวกติดตามวิดีโอ) การแสดงออก CLI ต่อไปนี้ทำให้การใช้งานของลูกค้า 2 สื่อopenRTSPและMplayerจะ Youtube ที่มันแล้วได้รับ / เล่นเพียงเสียงเพลง Youtube โดยขอเพียงช่อง = 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

นิพจน์ CLI นี้อธิบายเพิ่มเติมในลิงก์ที่ด้านล่าง

Youtube 'ฟีด' อธิบายรูปแบบสตรีมที่ใช้ได้สำหรับวิดีโอ Youtube ใด ๆ รวมถึง RTSP URI ที่กล่าวถึงข้างต้น สำหรับคำอธิบายทางเทคนิคของรูปแบบการสตรีมมิ่ง Youtube ให้ดูรายการสำหรับ'รูปแบบ' 1,5,6 ในตารางยาว

คำขอต่อไปนี้จะได้รับฟีดจาก Youtube ที่มีรูปแบบ RTSP URI ที่พร้อมใช้งานสำหรับวิดีโอนั้น:

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

รายละเอียดเต็มไปด้วยเลือดของ connnected RTSP SESSION ซึ่งในคำอธิบาย SDP เต็มรูปแบบที่มีการร้องขอสำหรับวิดีโอ youtube โดยเฉพาะอย่างยิ่งเพื่อให้เพียงแทร็กเสียงอาจจะสตรีม / เล่นอยู่ที่นี่

กุญแจสำคัญในการหมายเลขบรรทัดในลิงค์ด้านบน:

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.