Androidのシングルタスクまたはマルチタスクとマルチスレッドのどちらですか?


18

ブラウザーでウィキペディアの記事を読むなど、別のアプリケーションに移動しているときに、Galaxy S 2でYouTubeビデオの音声を聞き続けることができない理由を理解しようとしています。

Gingerbreadでこれを防ぐアーキテクチャ上の制限はありますか(ICSで削除されることが望ましい)、またはGoogleがYouTubeアプリケーションを作成した方法だけですか?

編集:今日ICS 4.0.3でYouTubeアプリケーションを試してみましたが、Gingerbreadと同じように動作します:(((


8
私はそれがただのYouTubeアプリケーションだと思います。Google Music(および私が試した他のほぼすべての音楽アプリ)は、アプリが切り替えられた場合、または画面がオフになった場合でも再生を続けます(画面がオフの場合もYouTubeは停止します)。
ディランヤガー

回答:


17

ビデオレンダリングは、アプリケーションが「アクティブ」ではなくても再生されている場合でも発生するため、「通常の使用」よりも多くのバッテリーを使用します。したがって、ビデオを「見ていない」場合、貴重なバッテリー電力を無駄にしないために停止します。


ええ、YouTubeをラジオとして使用するには、ビデオレンダリングを無効にし、オーディオのみを再生する可能性があります。:)
ダビデピラス

6
できます-しかし、それは単にYouTubeアプリの設計方法ではありません;)
lxgr

19

これはAndroidの制限ではなく、リソースを節約するためのYoutubeアプリの「機能」です。

Youtubeを音楽プレーヤーとして使用したい場合、市場でまさにそれを可能にするアプリケーションを見つけることができるはずです。

TubeMateを使用すると、Youtubeファイルの音声のみを聴くことができます(ただし、事前にダウンロードする必要があります)。これはバックグラウンドで機能するはずです。


3

ビデオトラックを破棄しながらメディアストリームのオーディオ部分のみの選択をサポートする方法でYoutubeストリーミングプロトコルを柔軟に管理できるAndroidアプリが必要な場合は、VLC for Androidに注目してください。まだ「開発中」ですが、おそらく「オーディオのみ」の機能に対処します。

より技術的な観点からは、問題をメディアストリーミングRTSPの利用可能なYoutubeネットワークプロトコルに分解するのに役立ちます。。RTSP仕様により、クライアントはDESCRIBEコマンドを使用して、サーバーがSDPデータセグメントで応答する要求を作成できます(詳細を参照)。Youtubeサーバーは、さまざまなプロトコルで応答し、基礎となるストリームを送信します。これらのストリームは、さまざまなエンコーディング(オーディオ用、ビデオ用)を使用して、ネットワーク経由でメディアビットをクライアントに転送します。モバイルネットワークでは、未使用のビデオストリームのネットワーク要件が多いため、ビデオを破棄する前にオーディオとビデオの両方のトラックを受信して​​オーディオのみを再生するためにyoutubeに移動する機能はお勧めできません。さらに技術的なドリルダウンを行うと、ネットワークの非効率性を回避できます。

Youtubeが遵守しているRTSPおよびSDP規格により、ストリーミングクライアント(Androidデバイス)は、メディアストリーミングを行うネットワーク接続設定に関するクライアント/サーバーハンドシェイクステップおよびネゴシエーションステップ中にのみオーディオを要求できます。この場合、ビデオは送信されず、Androidプレーヤーは音声のみのストリームで構成されます。この「youtube audio only」シナリオのCLIコマンドの詳細とプロトコルの詳細を次に示します。

特定の動画のYouTube形式1の音声のみのトラックは、次のRTSP URIで入手できます。

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

ビデオ全体(オーディオトラックとビデオトラック)のRTSP URIから、次のCLI式は、2つのメディアクライアントopenRTSPmPlayerを使用してYoutubeに移動し、そこでchannel = 1のみを要求してYoutubeオーディオトラックだけをGETS / PLAYSします。

./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の「フィード」は、上記のRTSP URIを含む、Youtubeビデオで利用可能なストリーム形式を説明しています。Youtubeストリーミング形式の技術的な説明については、長い表の「形式」 1,5,6のエントリを参照してください。

次のリクエストは、特定の動画で利用可能なさまざまな形式のRTSP URIを含むフィードをYoutubeから取得します。

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

オーディオトラックだけをストリーミング/再生できるように、特定のyoutubeビデオに対してSDPの完全な説明が要求される、接続されたRTSPセッションの詳細はここにあります

上記のリンクの番号付き行のキー:

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.