首页 新闻 会员 周边 捐助

android 4.4 下播放视频只有声音无图像

0
悬赏园豆:50 [已解决问题] 解决于 2014-06-04 10:48

播放器用的Mediaplayer+ SurfaceView,也曾试过videoview,视频编码是AVC(H264)+分辨率480x384(5:4)+比特率250Kbps+16帧+48Kbps的AAC,格式是mp4。本地播放和在线播放都在4.4环境无法显示画面。4.2中可正常显示。请问这是什么原因?难道是视频编码的问题吗?

核心代码:

import android.app.Activity;

import android.media.AudioManager;

import android.media.MediaPlayer;

import android.os.Bundle;

import android.view.SurfaceHolder;

import android.view.SurfaceView;

 

public class MainActivity extends Activity implements SurfaceHolder.Callback

{  

private SurfaceView surfaceView = null ;

    private SurfaceHolder surfaceHolder = null ;

    private MediaPlayer mp = null ;

 

    @Override

    public void onCreate(Bundle savedInstanceState) 

    {

        super.onCreate(savedInstanceState);

        surfaceView = new SurfaceView(this);

        surfaceHolder = surfaceView.getHolder(); 

      surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

        surfaceHolder.addCallback(this);

        setContentView(surfaceView);    

}     

               @Override

               public void surfaceChanged(SurfaceHolder holder, int format,

                            int width, int height) {

                               // TODO Auto-generated method stub                        

               }

               @Override

               public void surfaceCreated(SurfaceHolder holder) {

                               // TODO Auto-generated method stub

            mp = new MediaPlayer();       

            mp.setAudioStreamType(AudioManager.STREAM_MUSIC);

            mp.setDisplay(surfaceHolder);

            try {

mp.setDataSource("http://124.163.222.143/fcs112.56.com/flvdownload/27/20/139347377958hd.flv.mp4?t=xi6W14l-V4Fd3NidKvHj6g&r=65728&e=1400281981&v=1&s=1&tt=60&sz=2327933&vid=107657129");

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace()

        }

        try {

            mp. prepareAsync ();

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

              mp.setOnPreparedListener(new OnPreparedListener() {

                            @Override

                            public void onPrepared(MediaPlayer mp) {

                                   mp.start();

                            }

                              });

               }

               public void surfaceDestroyed(SurfaceHolder holder) {

                              

               }

}

magicjym的主页 magicjym | 初学一级 | 园豆:157
提问于:2014-05-20 16:10
< >
分享
最佳答案
1

mp4是支持的吧。

收获园豆:50
angelshelter | 大侠五级 |园豆:9914 | 2014-05-23 11:42

同样的代码在4.2.2的真机上 有图像有声音,但在4.4的机器上只有声音无图像

magicjym | 园豆:157 (初学一级) | 2014-05-23 13:42

@magicjym: 如果你的是fly格式的。这种情况就合情合理了。

我想说,会不会是4.4把你那个地址解析为flv了。毕竟这样的结尾是不规范的。.flv.mp4

angelshelter | 园豆:9914 (大侠五级) | 2014-05-23 14:26

@angelshelter: 多谢提示,我研究研究

magicjym | 园豆:157 (初学一级) | 2014-05-26 10:17

@angelshelter: 但是我把视频放工程内,也是4.4真机中有声音无图像啊

magicjym | 园豆:157 (初学一级) | 2014-05-26 10:18

@magicjym: 我回想了下,这个情况我以前遇到过,就是在电脑上的摸拟器会出现有声音无图像的情况,但真机不会出现。

angelshelter | 园豆:9914 (大侠五级) | 2014-05-26 12:06

@angelshelter: 再提醒下,可能你下载的那个文件本身就不是mp4的,只是它扩展名是mp4的而以。你去百度下一个真正的mp4格式的小视频,再放到真机里试试。

angelshelter | 园豆:9914 (大侠五级) | 2014-05-26 12:08

@angelshelter: 多谢提示,我试试

magicjym | 园豆:157 (初学一级) | 2014-05-27 11:37
其他回答(2)
0
艾艾12 | 园豆:216 (菜鸟二级) | 2014-05-27 22:06
0

我 现在 在 开发机顶盒的 项目,也是跟亲一个问题,我把视频放工程内,也是4.4真机中有声音无图像。请问你有解决问题没?!

梁子一宿 | 园豆:202 (菜鸟二级) | 2015-05-07 11:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册