2011-06-28 8 views
5

この例は、「Android用Pandora」を考えれば最も簡単に理解できます。アクティビティが隠されているときに動画を再生する

私のアクティビティには、クラスからのVideoView再生演奏があります。 私は、このアクティビティから別のアクティビティ(私のアプリケーションでは、または別のアプリケーション(ホームスクリーン、他のいくつかのアプリケーション))に中断することなく、切り替えることができます。

Pandoraの例を使用すると、音楽を再生しながら「ラジオ局を切り替える」ことができました。私はホーム画面に移動して、シームレスに電話をナビゲートできます。

動画や音声のみ可能ですか?ビデオファイルからオーディオを再生して、簡単に元に戻すことはできますか?

答えて

4

これは一般的な処理方法(およびPandoraの処理方法)は、バックグラウンドスレッドのサービスから音楽を再生することです。 VideoViewはビューであり、アクティビティに関連付けられているため、この場合は使用できません。

私はAndroidのVideoViewコードから始め、2つの部分に分割してUIを処理し、もう1つをビデオ再生用に分割することでアプローチします。

バックグラウンドサービスでMediaPlayerを実行し、ビデオアクティビティが表示されたら、ビデオビューのサーフェスでMediaPlayer.setDisplay()を呼び出し、ビデオビューが表示されていない場合はMediaPlayer.setDisplay()をnullでコールします。

これは明らかにVideoViewを直接使用するよりもはるかに複雑で、サービスを開始し、それをUIと調整する必要があります。また、MediaPlayerをバックグラウンドスレッドで実行するだけで、サービスではなくなる可能性もあります。

+0

これは誰でも入手できましたか?私はしようとしており、アクティビティがバックグラウンドになったときにサーフェイスをプレーヤから切り離す際に問題が発生しています。 – Rawler

+0

アクティビティが終了するたびに、メディアプレイヤーはYELLING "Error(1、-2147483648)"を開始します。 'setDisplay(null)'は役に立ちません、 'setSurface(null)'も役に立ちません。 – Rawler

+0

誰でもこれを稼働させることができましたか? – Petar

関連する問題