-1

を使用して MP4 ビデオ ファイルを表示できませんMediaMetaDataRetActivity

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);        
    filepath = Environment.getExternalStorageDirectory().getPath()+"/adhavan.mp4";
        System.out.println("imagepath"+filepath);
 MediaMetadataRetriever retriever = new MediaMetadataRetriever();
        retriever.setDataSource(filepath);
bitmap = retriever.getFrameAtTime(10000 ,MediaMetadataRetriever.OPTION_CLOSEST);
System.out.println("BITMAP"+bitmap);
       Log.d(TAG, "METADATA_KEY_ALBUM: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM));
        Log.d(TAG, "METADATA_KEY_ALBUMARTIST: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUMARTIST));
        Log.d(TAG, "METADATA_KEY_ARTIST: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST));
        Log.d(TAG, "METADATA_KEY_AUTHOR: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_AUTHOR));
        Log.d(TAG, "METADATA_KEY_COMPILATION: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_CD_TRACK_NUMBER));
        Log.d(TAG, "METADATA_KEY_COMPILATION: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_COMPILATION));
        Log.d(TAG, "METADATA_KEY_DATE: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DATE));
        Log.d(TAG, "METADATA_KEY_DISC_NUMBER: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DISC_NUMBER));
        Log.d(TAG, "METADATA_KEY_DURATION: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION));
        Log.d(TAG, "METADATA_KEY_GENRE: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_GENRE));
        Log.d(TAG, "METADATA_KEY_MIMETYPE: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_MIMETYPE));
        Log.d(TAG, "METADATA_KEY_NUM_TRACKS: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_NUM_TRACKS));
        Log.d(TAG, "METADATA_KEY_TITLE: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE));
        Log.d(TAG, "METADATA_KEY_WRITER: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_WRITER));
        Log.d(TAG, "METADATA_KEY_YEAR: " + retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_YEAR));
          imageView = (ImageView)findViewById(R.id.imageview);
         imageView.setImageBitmap(bitmap);

私が得たエラーはですgetFrameAtTime: videoFrame is NULL pointer。これは、実行中にLogcatで取得したもので、画面が空白です。

4

3 に答える 3

4

OPTIONS_CLOSEST の代わりに OPTIONS_CLOSEST_SYNC を使用してみてください。

ただし、これにより、正確なフレームではなくキー フレームが提供されます。

于 2013-10-21T23:34:42.677 に答える