Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Android和Vitamio:对不起,这个视频不能播放。

Android和Vitamio:对不起,这个视频不能播放。
EN

Stack Overflow用户
提问于 2015-11-04 13:31:13
回答 1查看 1.3K关注 0票数 2

我正在开发一个小型电视应用程序,它使用许多m3u8格式的电视流。如果我使用本机VideoView,所有流都可以正常工作。但我想使用Vitamio更好地支持不同的协议和视频编解码器。我将Vitamio添加到我的项目中,而不是本地VideoView。这很容易,但是我对所有的流都有一个错误:“不能播放视频。对不起,这个视频不能播放。”在logcat:“E/VitamioPlayer: Error (1,-1094995529)”中,我读了许多类似的文章,如何添加Vitamio,却找不到我做错了什么。

在清单互联网访问是必需的,设备有访问互联网的权利。

此外:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <activity android:name="io.vov.vitamio.activity.InitActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden"
android:launchMode="singleTop"
android:theme="@android:style/Theme.NoTitleBar"
android:windowSoftInputMode="stateAlwaysHidden"/>

在module.app中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'me.neavo:vitamio:4.2.2'
}

这是我用于测试的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import io.vov.vitamio.LibsChecker;
import io.vov.vitamio.MediaPlayer;
import io.vov.vitamio.widget.MediaController;
import io.vov.vitamio.widget.VideoView;

public class MainActivity extends AppCompatActivity {

    VideoView vidView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        vidView = (VideoView)findViewById(R.id.myVideo);
        getSupportActionBar().hide();
        if (!LibsChecker.checkVitamioLibs(this))
            return;

        vidView.setMediaController(new MediaController(this));
        vidView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mediaPlayer) {
                mediaPlayer.setPlaybackSpeed(1.0f);
            }
        });
        vidView.setVideoPath("http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8");
        vidView.requestFocus();
    }
EN

回答 1

Stack Overflow用户

发布于 2016-02-02 04:44:01

来自ffmpeg的错误代码(来自avutil的error.h):source.html

您指定的值是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#define AVERROR_INVALIDDATA        FFERRTAG( 'I','N','D','A')

-1094995529变成-0x41444E49,当你看这些字母时,在ACSII中,0x41 = 'A',0x44 = 'D',0x4E = 'N,和0x49 = 'I‘。由于宏/etc的情况是相反的,所以ADNI变成了INDA,您可以从# defined代码段中看到它是AVERROR_INVALIDDATA定义的FFERRTAG( 'I','N','D','A')。

其余的错误代码都在该文件中,我在下面粘贴了它们:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#define AVERROR_BSF_NOT_FOUND      FFERRTAG(0xF8,'B','S','F') ///< Bitstream filter not found
#define AVERROR_BUG                FFERRTAG( 'B','U','G','!') ///< Internal bug, also see AVERROR_BUG2
#define AVERROR_BUFFER_TOO_SMALL   FFERRTAG( 'B','U','F','S') ///< Buffer too small
#define AVERROR_DECODER_NOT_FOUND  FFERRTAG(0xF8,'D','E','C') ///< Decoder not found
#define AVERROR_DEMUXER_NOT_FOUND  FFERRTAG(0xF8,'D','E','M') ///< Demuxer not found
#define AVERROR_ENCODER_NOT_FOUND  FFERRTAG(0xF8,'E','N','C') ///< Encoder not found
#define AVERROR_EOF                FFERRTAG( 'E','O','F',' ') ///< End of file
#define AVERROR_EXIT               FFERRTAG( 'E','X','I','T') ///< Immediate exit was requested; the called function should not be restarted
#define AVERROR_EXTERNAL           FFERRTAG( 'E','X','T',' ') ///< Generic error in an external library
#define AVERROR_FILTER_NOT_FOUND   FFERRTAG(0xF8,'F','I','L') ///< Filter not found
#define AVERROR_INVALIDDATA        FFERRTAG( 'I','N','D','A') ///< Invalid data found when processing input
#define AVERROR_MUXER_NOT_FOUND    FFERRTAG(0xF8,'M','U','X') ///< Muxer not found
#define AVERROR_OPTION_NOT_FOUND   FFERRTAG(0xF8,'O','P','T') ///< Option not found
#define AVERROR_PATCHWELCOME       FFERRTAG( 'P','A','W','E') ///< Not yet implemented in FFmpeg, patches welcome
#define AVERROR_PROTOCOL_NOT_FOUND FFERRTAG(0xF8,'P','R','O') ///< Protocol not found
#define AVERROR_STREAM_NOT_FOUND   FFERRTAG(0xF8,'S','T','R') ///< Stream not found
#define AVERROR_BUG2               FFERRTAG( 'B','U','G',' ')
#define AVERROR_UNKNOWN            FFERRTAG( 'U','N','K','N') ///< Unknown error, typically from an external library
#define AVERROR_EXPERIMENTAL       (-0x2bb2afa8) ///< Requested feature is flagged experimental. Set strict_std_compliance if you really want to use it.
#define AVERROR_INPUT_CHANGED      (-0x636e6701) ///< Input changed between calls. Reconfiguration is required. (can be OR-ed with AVERROR_OUTPUT_CHANGED)
#define AVERROR_OUTPUT_CHANGED     (-0x636e6702) ///< Output changed between calls. Reconfiguration is required. (can be OR-ed with AVERROR_INPUT_CHANGED)
#define AVERROR_HTTP_BAD_REQUEST   FFERRTAG(0xF8,'4','0','0')
#define AVERROR_HTTP_UNAUTHORIZED  FFERRTAG(0xF8,'4','0','1')
#define AVERROR_HTTP_FORBIDDEN     FFERRTAG(0xF8,'4','0','3')
#define AVERROR_HTTP_NOT_FOUND     FFERRTAG(0xF8,'4','0','4')
#define AVERROR_HTTP_OTHER_4XX     FFERRTAG(0xF8,'4','X','X')
#define AVERROR_HTTP_SERVER_ERROR  FFERRTAG(0xF8,'5','X','X')

您的视频路径指定一个需要其他文件的文件。也就是说,它在内部引用gear4\prog_index.m3u8,所以您可能也必须加载它吗?

因为vitamio正在返回一个ffmpeg错误代码,所以我怀疑它在某种程度上依赖于使用VideoView句柄,但直接使用它不是。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33532394

复制
相关文章
Android主流播放器比较
本篇文章主要介绍 Android 原生 VideoView,Google 开源视频播放框架 ExoPlayer,Vitamio 视频播放框架以及 Bilibili 开源视频播放框架 ijkplayer 的使用方法和优缺点。
蜻蜓队长
2018/08/03
3K0
对不起,真的不能再低了!
腾讯云市场,定位是“企业的云上集市”。 这个双十二,腾讯云市场联合数十家精选服务商,带你共享一场云上的购物狂欢。 活动一:精选开发者服务 为了回馈长期以来个人开发者对腾讯云市场的支持,云市场联合优质服务商推出数款开发者服务精选单品。 如虚拟主机云市场专享价,20元/月,199/年。薅羊毛价仅限云市场双十二会场,戳图片直达: 更有域名建站组合购,优质后缀,无法拒绝的低价: 活动二:送最高500元京东卡! 引流营销小程序,分销商城,企业400电话,微信云报餐系统,买就送大额京东卡
腾讯云DNSPod团队
2020/06/22
4.1K0
android 视频文件不能进行幻灯片的播放[通俗易懂]
packages\apps\Gallery2\src\com\android\gallery3d\app\SlideshowPage.java中: 1、加入: import com.android.gallery3d.data.FilterSource;//added byMTK for alps00999947 2、 initializeData()方法中: private void initializeData(Bundle data) { … String mediaPath = data.getString(KEY_SET_PATH); //added by MTK for alps00999947 start mediaPath = mediaPath.replace(FilterSource.FILTER_CAMERA_SHORTCUT + “,”, “”); // mediaPath = FilterUtils.newFilterPath(mediaPath, FilterUtils.FILTER_IMAGE_ONLY); //added by MTk for alps00999947 end MediaSet mediaSet = null; … }
全栈程序员站长
2022/07/07
1K0
RTMP/RTSP直播播放器的几种选择
播放网络视频,通常解析库我们可以有多个选择,如FFMPEG,Daniulive SDK 或者 vitamio。
音视频牛哥
2019/09/12
9.4K0
Android VideoView播放视频
起初播放本地视频也是如此,但后来发现是因为权限的原因,所以需要在AndroidManifest.xml中加入
SingYi
2022/07/13
3.5K0
Android VideoView播放视频
Android9.0 使用 AndroidVideoCache 时不能缓存/播放视频的解决
项目中使用 https://github.com/danikula/AndroidVideoCache 作为视频缓存组件,但是在9.0手机上无法正常缓存,并且报错:
CnPeng
2020/08/11
2.3K0
Android VideoView播放视频
Android 利用自带VideoView控件播放视频 Activity public class Activity01 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.
阳光岛主
2019/02/19
1.3K0
OpenGL ES for Android 播放视频
我们都知道Android中有VideoView控件可以直接播放视频,既简单又实用,那么为什么我们还要用OpenGL ES来播放视频呢?那是因为使用OpenGL ES可以做更多的酷炫的动效,比如旋转视频、双指缩放视频、视频的截图、视频的录制、直播、换脸,还有类似“激萌”App里面的特效等这些都是VideoView所无法实现的,而通过OpenGL ES则可以实现这些酷炫的效果,当然这篇文章不会介绍如何这些实现这些效果,如果想了解这些动效请关注我,后面的文章会一一介绍。
老孟Flutter
2020/09/11
1.4K0
安卓基础干货(十):安卓多媒体编程的学习
应用程序在启动时系统为它创建一个进程,系统为每个进程创建dalvik虚拟机(模拟器设置的VM Heap),当图片的大小大于虚拟机的堆内存空间时,就内存溢出(内存泄露);
緣來
2018/09/18
1.4K0
android视频系列:视频解码篇--android上视频播放的实现
前言 要开始正儿八经地写视频系列文章了。思来想去,从播放器入手,再合适不过了。视频文件,只有播放出来,才显示出了意义;只有播放出来,才暴露出各种问题。先理解播放的场景,才能更好地理解视频处理时所选取的策略。 播放器做了什么 播放器播放视频,就是一步步剖开视频的内容,显示在屏幕上。 最简单的理解方式,是把视频文件看做一个容纳了很多图片的容器。播放时,从容器里取出一张图片,放到屏幕上显示,隔一点时间后,再从容器里取出下一张图,放到屏幕上。按次序把图片一张一张显示到屏幕上,等到最后一张也显示到屏幕上后,播放就完成
天天P图攻城狮
2018/02/02
4.1K0
android视频系列:视频解码篇--android上视频播放的实现
android采用videoView播放视频(包装)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117001.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/06
4300
对不起,我的健康码不能给你
题图摄于广州番禺 本文记录一次关于隐私保护的事情。 近日,我去了趟某运营商的营业厅,开通一个新的手机号。入门时,扫了场所码,显示的是绿码。 营业员在帮我办理业务时,除了拍照我的身份证件外,还说要留存我的健康码和行程码。 这个要求就有点奇怪了,尽管我两个码都是正常,但作为从事隐私信息保护工作的我,对涉及自己隐私数据的事情,觉得还是要和他掰斥一下。 首先,我问他为什么需要留存我的两码?因为这两个码是用于防疫的,与办理手机业务没啥关系,他们也不是卫生防疫部门。 营业员理直气壮地说,这是他们的业务流程规定的。因为我
Henry Zhang
2023/04/04
4060
对不起,我的健康码不能给你
视频直播解决方案
当下,视频直播行业在中国逐渐走红。在刚刚过去的2015年,视频直播成为互联网行业最抢眼的领域之一。从游戏到秀场,从传统的网页端到移动互联网,各大直播平台包括斗鱼、熊猫tv、虎牙战旗还有纯移动端的印客、易直播等,群雄割据。言归正转,毕竟本文是一篇技术博客,接下来让我们从技术的角度分析如何搭建一个自己的直播平台。
全栈程序员站长
2022/09/15
1.4K0
视频直播解决方案
RTMP流视频测试工具
要做一个android端的流媒体播放器,获取服务器推的rtmp流。我按照网上的教程使用vitamio库https://github.com/yixia/VitamioBundle,demo里面列举了很多情况,我自己新建了一个项目,导入module,选择用videoview控件,播放网络上rtmp没问题。但是当使用我们服务器的地址的时候就会报错:
用户7741497
2022/03/25
2.4K0
EasyCVR播放设备录像出现部分视频不能播放的原因排查与解决
EasyCVR视频融合平台基于云边端协同架构,具有强大的数据接入、处理及分发能力。平台支持多协议接入,包括:国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、大华SDK、宇视SDK等,对外可分发多格式视频流,包括RTSP、RTMP、FLV、HLS、WebRTC等。
TSINGSEE青犀视频
2023/06/30
2550
解决 Android PLMediaPlayer 视频播放异常小结
和尚最近一直在处理一个比较纠结的问题,项目中接入了七牛云视频SDK PLMediaPlayer,七牛云视频SDK是很强大的一款三方视频库。 和尚项目中需要展示的是 .mp4 格式的视频,曾经遇到的问题包括:个别视频有音频但是看不到视频,个别视频无法播放等。和尚查了好久发现对问题解决的资料相对较少,仅记录一下和尚处理的方式。
阿策小和尚
2019/08/12
1.7K0
解决 Android PLMediaPlayer 视频播放异常小结
点击加载更多

相似问题

对不起,这个视频不能播放。

14

对不起,这个视频不能播放

10

对不起,这个视频不能播放!错误/PlayerDriver

11

对不起,这个视频不能播放-将mp4播放到android。

24

对不起,视频不能播放

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文