2017-09-28 6 views
2

私はこれで完全に失われています。私はコードがかなりシンプルであることを発見しましたが、ドキュメンテーションで何故大きな理由で負の数値が返されるのかわかりませんでした。コードは次の通りですMediaPlayer getDurationは-1412558917を返します。

private int getDuration(String audioPath) throws Exception { 
    mediaPlayer = new MediaPlayer(); // This variable was created globally 
    mediaPlayer.setDataSource(audioPath); 
    return mediaPlayer.getDuration(); // Here it returns -1412558917 in every audio file i record, no matter if it's 3 seconds long or 8 

} 

私はそれを記録する方法は関係ありませんが、間違っていると私はコードを追加します。私がファイルを保存するフォーマットは3gpです。私はこの後に音声を再生することができるよ、私はあなたが時間を返す前に

おかげ

答えて

1

あなたはmediaPlayer.prepare();を追加しようとしたことがあり、問題が何であるか分からないのですか?

+0

私は今や気分が悪いです。私はそれをそのように解決することができました。なぜこれが必要なのかを理解するために読むことができるリンクがありますか?ありがとうございました! –

+0

いつでも:)それがあなたのために働いたならば、答えを受け入れたものとしてマークすることを忘れないでください。 Mediaplayerの詳細はこちら - https://developer.android.com/reference/android/media/MediaPlayer.html –

関連する問題