小米手机播放视频报错stop called in state 1,error (-38, 0)

问题描述

小米手机播放视频报错stop called in state 1,error (-38, 0)

今天写demo,用小米手机播放手机里本地的视频,界面正常,但是视频不出现,在log里报错如下:
01-27 10:53:46.530: E/MediaPlayer-JNI(21091): QCMediaPlayer mediaplayer NOT present
01-27 10:53:46.700: E/MediaPlayer-JNI(21091): QCMediaPlayer mediaplayer NOT present
01-27 10:53:46.820: E/MediaPlayer(21091): stop called in state 1
01-27 10:53:46.820: E/MediaPlayer(21091): error (-38, 0)
01-27 10:53:46.830: E/MediaPlayer(21091): start called in state 0
01-27 10:53:46.840: E/MediaPlayer(21091): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=0
01-27 10:53:46.880: E/MediaPlayer(21091): Error (-38,0)
01-27 10:53:46.920: E/MediaPlayer(21091): Should have subtitle controller already set

代码如下:
try {
player = new MediaPlayer();
// 重置为初始状态
player.reset();
// 设置音乐流的类型
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
// 设置video影片以surfaceviewholder播放
player.setDisplay(holder);
// 设置路径
player.setDataSource(Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/VideoCache/1453791771643.mp4");
player.prepareAsync();

        if (player != null) {
            player.stop();
        }
        player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {

                player.start();

            }
        });
    } catch (Exception e) {
        Log.e("HHHHHHHHHHHHHHHHHH", e.toString());
        e.printStackTrace();
    }

手机里还有个视频文件能播放,这个就不行,郁闷。

解决方案

[多媒体] QCMediaPlayer mediaplayer NOT present

解决方案二:

       String wav_path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/VideoCache/1453791771643.mp4";

        File file = new File(wav_path);

        FileInputStream fis = new FileInputStream(file);
        mMediaPlayer.setDataSource(fis.getFD());

                    试试这样可不可以
时间: 2024-10-08 06:35:47

小米手机播放视频报错stop called in state 1,error (-38, 0)的相关文章

android使用系统自带的播放器播放视频报错

问题描述 android使用系统自带的播放器播放视频报错 Intent intent = new Intent(android.content.Intent.ACTION_VIEW); Uri uri = Uri.parse(FileUtils.SDCARD_PATH + "/" + getItem(position).getName()); intent.setDataAndType(uri, "video/*"); mContext.startActivity(

MediaPlayer报错prepareAsync called in state 8

错误总结: MediaPlayer报错prepareAsync called in state 8 原因: 在进入Activity后在Oncreate()方法中: mMediaPlayer=MediaPlayer.create(MainActivity.this, R.raw.big); 为此mMediaPlayer设置了要播放的资源 但是在点击stop按钮以后,执行了mMediaPlayer.release(); 这样的话就释放了资源.所以再次点击播放的时候报错 解决办法: 在每次点击play

Laravel 5.4中migrate报错: Specified key was too long error的解决

前言 大家都知道,我们经常做项目都团队协作开发,每个人都在自己本地的数据库,如果你曾经出现过让同事手动在数据库结构中添加字段的情况,数据库迁移可以解决你这个问题. 不仅如此,在线上部署的时候,也避免了手动导入数据库或手动修改数据结构的麻烦,数据迁移帮你方便的维护着数据结构. 但方便的同时也会伴随着一些问题,下面这篇文章将详细给大家介绍关于Laravel5.4中migrate报错Specified key was too long error的解决方法,下面话不多说了,来一起看看详细的介绍吧. 发

局域网内手机播放视频

  随着科技越来越发达,手机,平板越来越被大众接受,逐步成为必需品.手机.平板这类移动端的产品,和PC机相比,携带确实方便很多,而且功能也越来越和PC电脑接近,唯一美中不足的是硬盘容量.现在一部电影或电视剧,画质越来越高,导致所占空间很大.一个平板或手机,通常只能放几部电影或电视剧   如果在局域网中,将电影.电视剧存放到PC电脑上,使用手机播放,这样是不是更方便,而且只要在同一局域网内,随时可以播放   这个想法实现起来并不复杂,下面来看详细步骤   步骤1:文件共享.即将PC电脑上的某一文件

利用emguCV显示视频报错

问题描述 如题,报错内容:"Emgu.cv.Cvinvoke"的类型初始值设定项引发异常....请有经验的帮忙给分享下经验. 解决方案 解决方案二:缺少opencv的dll你把下载的egmu下面的bin/x86目录的dll全部引入,一般就不会有问题了opencv就这点麻烦,哪怕只做一个小功能,需要引用N个dll

急急急..手机计费功能报错。大家帮助啊

问题描述 ////////////////////////////////////********************************************************billingSplash=newSplashView(this);//初始化计费intm_bCostTimes=billingSplash.BillingStatus();//获得计费条数if(m_bCostTimes<m_bBillingTimes){//判断是否进入计费界面billingSplash

启动libvirtd报错解决办法:libvirtd: relocation error: libvirtd

今天从公司一个闲置电脑上装几个kvm耍耍docker,不料安装没有那么顺利,启动libvirtd有如下报错: [root@kvmmaster lib64]# service libvirtd restart 正在关闭 libvirtd 守护进程:                               [失败] 启动 libvirtd 守护进程:libvirtd: relocation error: libvirtd: symbol dm_task_get_info_with_deferre

【POI】解析xls报错:java.util.zip.ZipException: error in opening zip file

今天使用POI解析XLS,报错如下: Servlet.service() for servlet [rest] in context with path [/cetBrand] threw exception [Request processing failed; nested exception is org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file: 'd:

语音\视频报错,libeasemob_jni.so已加 android

问题描述 dlopen("/data/app-lib/com.example.com.jglx.android.app-2/libeasemob_jni.so") failed: dlopen failed: "/data/app-lib/com.example.com.jglx.android.app-2/libeasemob_jni.so" not 32-bit: 2请问怎么办 解决方案 应该加的地方都加了的,后来在armeabi-v7a下面加了个libease