腾飞的鲫鱼 2015-11-22 06:08 采纳率: 0%
浏览 11897

Android开发中用VideoView运行时出现该视频无法播放

package com.example.myvideo;

import java.io.File;

import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnErrorListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.MediaController;
import android.widget.MediaController.MediaPlayerControl;
import android.widget.VideoView;

public class MainActivity extends Activity implements MediaPlayerControl{

private VideoView videoView;//播放视频的一个控件
private MediaController controller;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
controller = new MediaController(this);
videoView = (VideoView) this.findViewById(R.id.videoView1);

    videoView.setMediaController(controller);
    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {

File file = Environment.getExternalStorageDirectory();//sdcard卡的根目录
File videoFile = new File(file,"c.3gp");
Uri uri = Uri.fromFile(videoFile);
videoView.setVideoURI(uri);
}

}




@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

@Override
public boolean canPause() {
// TODO Auto-generated method stub
return videoView.canPause();
}

@Override
public boolean canSeekBackward() {
// TODO Auto-generated method stub
return videoView.canSeekBackward();
}

@Override
public boolean canSeekForward() {
// TODO Auto-generated method stub
return videoView.canSeekForward();
}

@Override
public int getAudioSessionId() {
// TODO Auto-generated method stub
return 0;
}

@Override
public int getBufferPercentage() {
// TODO Auto-generated method stub
return 0;
}

@Override
public int getCurrentPosition() {
// TODO Auto-generated method stub
return 0;
}

@Override
public int getDuration() {
// TODO Auto-generated method stub
return videoView.getDuration();
}

@Override
public boolean isPlaying() {
// TODO Auto-generated method stub
return videoView.isPlaying();
}

@Override
public void pause() {
// TODO Auto-generated method stub
if (videoView.isPlaying()) {
videoView.pause();
}
}

@Override
public void seekTo(int arg0) {
// TODO Auto-generated method stub
videoView.seekTo(arg0);
}

@Override
public void start() {
// TODO Auto-generated method stub
videoView.start();
}
}

本人用3gp和mp4均做过测试
希望哪位大牛指点迷津
在此谢过了

  • 写回答

2条回答 默认 最新

  • 林茕夜 2015-11-22 08:44
    关注

    你那个视频文件的分辨率是多少的,然后测试时用的手机分辨率是多少,可能是视频的分辨率大于手机分辨率的问题,说错请见谅!如果只有声音,没画面,可能就是其它问题了,比如布局问题。

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?