2012-04-22 13 views
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で作業中です

答えて

0

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

私はこれをテストしていないと、あなたは、例外処理を追加する必要がありますが、あなたはこれらの線に沿って何かのために行くことができます:

MediaPlayer mp = new MediaPlayer(); 
    mp.setDataSource(Environment.getExternalStorageDirectory()+"/recordedMedia/" +eventName+ ".mp4"); 
    mp.prepare(); 
    mp.seekTo(/*a time*/); 
0

私は自分自身のコード内のMediaPlayerクラスを使用することをお勧めします。あなたがそれをやったやり方は、メディアタイプのためのデフォルトのプレーヤーか、ユーザーの選択のいずれかを使用します。その特定のメディアプレーヤーを特定の位置からスタートさせる方法を見つけても、使用されているさまざまなプレーヤー(AndroidのデフォルトがOEM版に置き換えられているデバイスなど)で動作させることはできません。

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

乾杯

関連する問題