私のアプリケーションでは、ユーザーから複数のパス (1 つは画像、1 つはオーディオ トラック、1 つはビデオ) を取得し、それらをデータベースに保存します。ファイルを表示するために別のアクティビティが開始された場合、ユーザーがファイルを選択して削除/移動した可能性があるため、ファイルがそれらのパスにある、またはまったく存在するという保証はありません。したがって、それらのパスにあるファイルが有効かどうかを確認できる必要があります。私の当初の計画は、各オブジェクトの構築と設定時にスローされた例外を単純にキャッチすることでした。それぞれを表示するために使用しているものは次のとおりです。
Image - a Drawable
Audio - a MediaPlayer
Video - a VideoView
ユーザーにダイアログを表示することで各例外を処理していましたが、例外はスローされず、代わりに別のエラー メッセージが表示されます。
VideoView は、「申し訳ありませんが、このビデオは再生できません」という独自のダイアログを表示します。
その他は LogCat に移動します。
04-10 23:34:43.174: ERROR/PlayerDriver(30): Command PLAYER_SET_DATA_SOURCE completed with an error or info PVMFErrNotSupported
04-10 23:34:43.174: ERROR/MediaPlayer(271): error (1, -4)
04-10 23:34:43.365: ERROR/MediaPlayer(271): Error (1,-4)
MediaPlayer と VideoView の状態を取得する方法、またはパスを確認する他の方法について何か考えはありますか?
ありがとう!