在线视频无法播放

2023-12-29

我正在按照教程在 Android 中播放视频,教程在这里 http://theandroid.in/play-online-video-example-in-android-device-with-source-code/

但是当我在模拟器上运行应用程序时,它给出了以下错误

媒体播放器错误(1、-2147483648)

请帮忙

这是我的应用程序的代码

JAVA

package com.example.videoplayer;

import android.media.MediaPlayer;
import android.media.MediaPlayer.OnErrorListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.graphics.PixelFormat;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.MediaController;
import android.widget.ProgressBar;
import android.widget.Toast;
import android.widget.VideoView;

public class MainActivity extends Activity {

    public static String url = "rtsp://v3.cache8.c.youtube.com/CiILENy73wIaGQmXovF6e-Rf-BMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp";
    private VideoView videoView = null;
    private ProgressBar prog = null;
    private Context ctx = null;
    private MediaController mediaController = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().setFormat(PixelFormat.TRANSLUCENT);
        setContentView(R.layout.activity_main);

        ctx = this;
        prog = (ProgressBar) findViewById(R.id.prog);
        videoView = (VideoView) findViewById(R.id.video);
        Uri video = Uri.parse(url);
        mediaController = new MediaController(this);
        mediaController.setAnchorView(videoView);
        videoView.setMediaController(mediaController);
        videoView.setVideoURI(video);

        videoView.setOnErrorListener(new OnErrorListener(){
            @Override
            public boolean onError(MediaPlayer mp, int what, int extra) {
            // TODO Auto-generated method stub
            Toast.makeText(ctx, "Error occured", 500).show();
            return false;
            }
        });

        videoView.setOnPreparedListener(new OnPreparedListener(){
            @Override
            public void onPrepared(MediaPlayer arg0) {
                // TODO Auto-generated method stub
                prog.setVisibility(View.GONE);
                videoView.start();
            }
        });
    }

    @Override
    protected void onDestroy(){
        try{
            videoView.stopPlayback();
        }
        catch(Exception e)
        {
            Log.d("MideoPlayer", "Error OnDestroy");
        }
        super.onDestroy();
    }

}

XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
    <FrameLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
        <VideoView
        android:id="@+id/video"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center"/>
        <ProgressBar
        android:id="@+id/prog"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_gravity="center"/>
    </FrameLayout>
</LinearLayout>

和清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.videoplayer"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.videoplayer.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

将此添加为此处的答案,以帮助其他人解决此问题 - 我发现此错误主要仅发生在模拟器上,并且似乎在设备上运行良好。可能是模拟器设置问题,如果发现任何官方报告的问题,我将更新此线程。我只在尝试播放 wmv 等不受支持的格式时在设备上看到过这种情况。如果有人在模拟器上有此问题的链接,请添加

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在线视频无法播放 的相关文章

随机推荐

  • 找不到调试信息或与 Visual Studio 的不匹配

    我复制了一个现有项目并重命名了该文件夹 现在 当我尝试编译应用程序时出现此错误 调试信息找不到或不匹配 没有加载符号 您想继续调试吗 如果我单击 是 它就会编译并运行良好 但现在我必须处理这个消息 只是好奇我在项目属性中更改了什么以使其停止
  • 扩展 Highmaps 副作用

    我正在尝试创建佛罗里达州的点密度图 虽然我知道 Highmaps 不支持带有地图点的颜色轴 我扩展了它并且它有效 但它带来了副作用 当我单击图例中的某一类别时 不会发生隐藏 例如 如果我单击 gt 10 则所有大于 10 的值都不会隐藏 当
  • 在java中读取进程的实时输出

    我在我的 java 应用程序中启动了一个 python 脚本 Process p Runtime getRuntime exec python script py 该脚本循环运行 并且仅由事件 或用户交互 取消 该脚本在每个循环周期写入输出
  • Windows 7 上的 Glassfish 启动域失败

    我想在 Windows 7 上使用 JAVA 8 JDK 66 启动 Glassfish 4 1 1 Server 但我的命令 asadmin start domain 失败 这似乎是一个不起眼的错误 因为我在命令提示符中收到一条很长的失败
  • 为什么我的 Azure SQL 数据库表永久锁定?

    我有一个独立的 Azure SQL 测试数据库 除了通过 SSMS 的开发计算机和开发 Web 应用程序实例之外 没有任何活动连接 我是唯一一个使用这个数据库的人 我正在一个大约 1M 记录的表上运行一些测试 我们需要在其中执行大量操作UP
  • UIPinchGestureRecognizer 的触摸位置

    我想在我的 iPhone 应用程序中使用捏合手势实现缩放 问题是 在识别手势时调用的方法中 我无权访问触摸事件本身 所以我无法真正获取它们的locationInView 并且我想得到它以便正确地居中我的放大 In the UIPinchGe
  • Spring / Hibernate @Transactional 如果随后进行第二个 @Transactional 调用,则不会刷新事务

    我的 Spring Boot 应用程序有一个奇怪的行为 该应用程序有在视图中打开会话 to false 我有一个控制器和一个服务 公开了 2 个带注释的方法 交易 应用程序属性 spring jpa open in view false 我
  • 警告:隐式声明

    我有一项计算机科学 MOOC CS50 作业需要交 在其中 我必须通过哈佛网站提交作业 但它不会接受我的代码 因为它显示 警告 隐式声明 有办法关闭它吗 我正在使用两个函数 islower and isupper 它们就是导致挂断的原因 我
  • 将 qDateTimeEdit 限制为 15 分钟

    In http qt project org doc qt 5 qabstractspinbox html specialValueText prop http qt project org doc qt 5 qabstractspinbo
  • 如何调整 SQL Azure 数据库的大小

    如何将 SQL Azure Web Edition 5 GB 数据库的大小调整为 1 GB 数据库 我不再需要额外的容量 也不想以更高的费率计费 我在管理门户中没有看到任何内容 快速的网络搜索也没有找到任何结果 我回答过类似的问题here
  • 引发了“Microsoft.WindowsAzure.StorageClient.StorageClientException”类型的异常

    引发了 Microsoft WindowsAzure StorageClient StorageClientException 类型的异常 有时 即使我们的结构正在运行并且角色管理器已启动 我们也会遇到此类异常 代码在以下行处中断 emai
  • 有没有一种简单的方法可以获取 ASP.Net 中的总页面响应时间?

    通常来说 PHP 或其他 Web 框架获取总响应时间很容易 只需在文件顶部启动计时器并在文件末尾停止即可 在 ASP Net 中 有整个页面生命周期 所以我不知道如何做到这一点 我希望此响应时间记录发生在母版页中 并且响应时间显示在页面的页
  • 带 {get;} 的 C# 表达式主体与不带 {get;} 的 C# 表达式主体

    这个问题在这里已经有答案了 由于我不知道适用于此的术语 因此我不确定如何搜索对此的现有评论 我最近在类似于以下的表达式体上浪费了大量时间 public SomeListViewModel SearchSomeModel gt new Sho
  • 创建一个包含可动态添加文本的 Flash 的页面

    我必须创建一个可以设置为全屏的网页 我的意思是真正的全屏 而不是像按F11 在全屏中应该有一些文字显示 采取http stackoverflow com http stackoverflow com例如 通常 它会显示其内容 问题 但有一天
  • FileNotFoundException(没有这样的文件或目录)

    我正在编写一个 Android 应用程序 我需要从多个文件夹中读取多个文件并将它们添加到多个 zip 存档中 我需要将档案的最大大小限制为 16mb 因此 在运行时将文件添加到存档时 如果文件大小超过 16 mb 则创建另一个具有相同大小限
  • 返回受每个 INSERT 上的存储过程影响的行以显示在 ASP.NET 页面中

    我有一个包含 10 个不同插入的存储过程 是否可以将每个插入影响的行数返回到 ASP NET c 页面 以便我可以为查看该 ASP NET 页面的客户端显示存储过程进程 您需要在存储过程的启动中使用以下命令 不设置任何折扣 http msd
  • 使用 jQuery / javascript 如何检查 JS 文件 ( SP.JS) 是否已在页面中调用?

    我想检查某个特定的 JS 文件是否已加载到 document ready 中 像这样的事情 if file already called loaded my code else some other code JS 文件不是任何插件 它基本
  • Django 日志和错误的位置

    我已经使用 nginx 设置了 django 服务器 并且在某些页面中出现 403 错误 在哪里可以找到 django 日志 我在哪里可以看到错误的详细信息 Logs https docs djangoproject com en dev
  • JavaFX TextArea - 调整大小时出现不需要的滚动条

    我在调整 JavaFX 中 TextArea 的更新 事件大小时遇到 问题 为了便于说明 我通过 IntelliJ Idea 创建了空的 JavaFX 项目 其中 AnchorPane 作为根窗格 并且 AnchorPane 包含带有属性的
  • 在线视频无法播放

    我正在按照教程在 Android 中播放视频 教程在这里 http theandroid in play online video example in android device with source code 但是当我在模拟器上运行