Android Media Player не работает - PullRequest
2 голосов
/ 28 мая 2011

Я пытаюсь разработать приложение, в которое встроено много видео, и я бы хотел вызвать Media Player Android с видео на объекте VideoView.Тем не менее, я получаю эти странные ошибки:

  • I / MediaPlayer (2874): Информация (1,26)
  • E / MediaPlayer (2874): Ошибка (-4, -4)
  • D / VideoView (2874): ошибка: -4, -4

при попытке воспроизвести видео в формате mp4 или другое видео в формате 3gp, которое не записано с моего телефона,Мой код выглядит примерно так:

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.MediaController;
import android.widget.VideoView;

public class PlayTest2 extends Activity{
private MediaController ctlr;
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.test2);

    try {
        VideoView video = (VideoView) findViewById(R.id.test2);
        // Load and start the movie
                video.setVideoPath("android.resource://com.example.child.protector/raw/output");
        ctlr=new MediaController(this);
        ctlr.setMediaPlayer(video);
        video.setMediaController(ctlr);
        video.start();
        //video.requestFocus();//this line is new
    }
    catch (Exception e) {
       Log.e("---------- this is my app --------", "error: " + e.getMessage(), e);

    }
}
}

, а мой макет выглядит примерно так:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<VideoView
android:id="@+id/test2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
/>
</FrameLayout>

Что-то не так с моим кодом?

и я знаю, что мойфайл есть и все.Я запустил этот код с примером видео 3GP, и он работал просто отлично (но я записал видео со своего телефона и скопировал его на свой компьютер, а затем повторно упаковал в свое приложение в папке / res / raw в Eclipse).Однако проблема в том, что по какой-то причине мой медиаплеер воспроизводит только определенные файлы 3GPP.Если я пытаюсь конвертировать MP4 в 3GP с помощью MobileMediaConverter, он воспроизводится на моем ноутбуке, но не в этом приложении.Также обратите внимание, что если я открываю видео в виде файла (другими словами, вызывая видеопроигрыватель по умолчанию на моем телефоне Samsung Galaxy S), он работает просто отлично (это означает, что у моего телефона есть возможности).Так что мне интересно:

  • это что-то не так с кодом?
  • это скорее ошибка преобразования mp4 в 3gp?

Любая помощь будет принята с благодарностью.Спасибо !!

1 Ответ

1 голос
/ 23 ноября 2011

Проблема заключалась в том, что определенные конвертеры (с различными настройками) создают видеофайл, который не запускается на моем устройстве Samsung Galaxy Android.код здесь общий, но я думаю, что кодек должен быть чем-то вроде H.264 при конвертации видео.Затем я скачал около 5 видео конвертеров, и 2 из них фактически создали 3GPP, который может воспроизводить мое устройство.так что если у кого-то еще есть такая проблема, я бы порекомендовал попробовать несколько конвертеров видео с разными настройками кодека / звука.в конце концов я смог найти тот, который работал в моем конкретном случае

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...