Tutorial Here
但是当我在模拟器上运行应用程序时,它给了我以下错误
MediaPlayer错误(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这样不受支持的格式,我只会在设备上看到这种情况.如果有人在模拟器上链接到此问题,请添加 总结
以上是内存溢出为你收集整理的android – 在线视频不播放全部内容,希望文章能够帮你解决android – 在线视频不播放所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)