2013-07-20 3 views
4

Я следую Учебник для воспроизведения видео в Android, Tutorial HereИнтернет Видео не Playing

Но когда я запустить приложение на эмуляторе, он дает мне следующую ошибку

ошибку 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> 

и Manifest

<?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> 
+0

Вы пробовали его на устройстве? – Slartibartfast

+0

Да, попробовал это сейчас. Работает хорошо !! Спасибо ! –

+0

Awesome man .... YOUR code работал над My Nexus 7 –

ответ

1

Добавление это как ответ здесь, чтобы помочь другим с этой проблемой - я видел это ошибка случается в основном только на эмуляторах, и кажется, хорошо играть на устройстве. Возможно, проблема с настройкой эмулятора, и я обновлю эту тему, если найду какие-либо официальные сообщения. Я видел это только на устройстве, если попытаюсь воспроизвести неподдерживаемый формат, например wmv. Если у кого-то есть ссылки на эту проблему на эмуляторе, пожалуйста, добавьте

+0

Не могли бы вы помочь? Я использовал видеопоток для трансляции в реальном времени, но у меня такая же проблема, как и выше. – PriyankaChauhan