2015-05-22 3 views
1

Я узнал, что мы можем воспроизводить видео в виде текстуры. Но я видел только, как воспроизводить видео, снимаемые камерой, но я хочу воспроизвести в нем доступное видео для выполнения любых анимаций.Android: видео в TextureView

Я попробовал этот код, но я не знаю, куда поместить video.mp4

public class MainActivity extends Activity implements 
     TextureView.SurfaceTextureListener { 

    @Override 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     setContentView(R.layout.activity_main); 

     TextureView textureView = (TextureView) findViewById(R.id.textureView1); 
     textureView.setSurfaceTextureListener(this); 
    } 

    public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, 
      int height) { 
     MediaPlayer mediaPlayer = new MediaPlayer(); 
     mediaPlayer.setSurface(new Surface(surface)); 

     try { 
      mediaPlayer.setDataSource("video.mp4"); 
      mediaPlayer.prepare(); 
      mediaPlayer.start(); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

    @Override 
    public boolean onSurfaceTextureDestroyed(SurfaceTexture arg0) { 
     // TODO Auto-generated method stub 
     return false; 
    } 

    @Override 
    public void onSurfaceTextureSizeChanged(SurfaceTexture arg0, int arg1, 
      int arg2) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onSurfaceTextureUpdated(SurfaceTexture arg0) { 
     // TODO Auto-generated method stub 

    } 
} 

Пожалуйста, помогите мне, предоставив любой рабочий код. Или если мой был прав, то где поместить video.mp4 в папки.

Заранее спасибо ...

+0

В каких папках вы говорите? – pskink

+0

Я пытался копировать video.mp4 в папку raw, а также в папку с активами – Sri

+0

использовать полный путь: что-то, что начинается с "/" – pskink

ответ

0

Поместите его в папке сырой и попробовать ниже один и посмотреть, если это помогает.

public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) { 
    MediaPlayer mediaPlayer = new MediaPlayer(); 
    mediaPlayer.setSurface(new Surface(surface)); 
    try { 
     Uri video = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.your_raw_file); 
     mediaPlayer.setDataSource(this, video); 
     mediaPlayer.prepare(); 
     mediaPlayer.start(); 
    } catch (Exception e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 
Смежные вопросы