0

録画されたビデオのイベントに対応する時間の配列があります。これらの時間はリストを膨らませます。リスト エントリが選択されているときに、選択した時間にビデオを開きたい

現在、次のコードはビデオの冒頭でのみビデオを開きます。

                Uri video = Uri.parse(Environment.getExternalStorageDirectory()+"/recordedMedia/" +eventName+ ".mp4");
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
                intent.setDataAndType(video, "video/*");
                startActivity(intent);

理想的には、指定された時間に直接行うのが最適ですが、最初から開始してから指定された時間にスキップすることもできますが、それがかなり迅速な場合です。私はAndroid 2.2、API 8で作業しています

4

2 に答える 2

0

独自のコードで MediaPlayer クラスを使用することをお勧めします。あなたが行った方法では、メディア タイプまたはユーザーが選択したいずれかのデフォルト プレーヤーを使用します。その特定のメディア プレーヤーを特定の位置から開始する方法を理解できたとしても、Android のデフォルトが OEM バリアントに置き換えられた一部のデバイスを含め、使用されているさまざまなプレーヤーで動作させる可能性はありません。 .

MediaPlayer を使用して独自のアクティビティを作成し、 seekTo() を使用して目的の位置から開始します。ウェブ上にはたくさんの例があります。

乾杯

于 2012-04-22T22:50:34.137 に答える
0

たぶん、オブジェクトのseekTo()メソッドを 使用できますか?MediaPlayer

私はこれをテストしておらず、例外処理を追加する必要がありますが、次の行に沿って何かを行うことができます:

    MediaPlayer mp = new MediaPlayer();
    mp.setDataSource(Environment.getExternalStorageDirectory()+"/recordedMedia/" +eventName+ ".mp4");
    mp.prepare();
    mp.seekTo(/*a time*/);
于 2012-04-22T22:45:08.743 に答える