Android中取得视频文件的分辨率,是否一定要先播放该视频文件啊?
有谁对视频了解一点的,进来回答一下啊,谢谢

解决方案 »

  1.   

    看看mediaplayer和videoview中有没
      

  2.   

    楼主查看一下mediaplay包里面有没有你需要的库?
      

  3.   

    代码如下,其中MediaMetadataRetriever为隐藏类。解决方法,1. 使用源码环境开发
      2. 去找一包将@hide标签去掉,自己编译过的framework.jar这些包,导入到工程中。
      3. 或者告诉我你的邮箱,给你发一包过去。包名:android.media.MediaMetadataRetriever
    文件目录:android\frameworks\base\media\java\android\media\MediaMetadataRetriever                    MediaMetadataRetriever retriever = new MediaMetadataRetriever();
                        try
                        {
                            retriever.setMode(MediaMetadataRetriever.MODE_GET_METADATA_ONLY);
                            retriever.setDataSource(image.getDataPath());
                            try
                            {
                                dimensionWidth  = Integer.parseInt(retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH));
                                dimensionHeight = Integer.parseInt(retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT));
                            }
                            catch(NumberFormatException e)
                            {
                                dimensionWidth  = 0;
                                dimensionHeight = 0;
                            }
      

  4.   

    看什么文件格式的咯,MPEG4的话,找找它的格式定义的文章(比较难找),然后看看文件头(Android是放在文件开头,有些是放在结束地方的),看看是第几个字节描述的,读出来就行了
      

  5.   


    流媒体的话,读取server的config文件了
      

  6.   

    可以读取视频文件的第一帧来获取分辨率。我之前做的一个video播放器就是这么做的,可以根据分辨率动态改变service view大小。
    Cursor cursor =  getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
    null, "(_data='"+_data+"')", null , MediaStore.Video.Media.DEFAULT_SORT_ORDER);cursor.moveToFirst();
    path = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA));
    MediaMetadataRetriever retr = new MediaMetadataRetriever();  
    retr.setDataSource(path);        
    Bitmap bm = retr.getFrameAtTime(); 
    wVideo = bm.getWidth();  
    hVideo = bm.getHeight(); 其中path是文件路径,wVideo,hVideo为宽和高
      

  7.   

    给我发个包吧,十分感谢啊 [email protected]