小编use*_*215的帖子

如何实现oncompletionlistener来检测Exoplayer中媒体文件的结尾

我试图以播放列表的形式一个接一个地播放视频.我正在使用Android Exoplayer来播放我的文件,但是没有像媒体播放器那样的听众能够收听媒体文件的结尾.请告诉我一个方法使用exoplayer .thankyou听媒体文件的结尾..

android exoplayer

19
推荐指数
5
解决办法
2万
查看次数

Exoplayer引发Android中大型mp4文件的解码器初始化异常

Iam使用Exoplayer在android中连续播放视频作为播放列表。当我播放低质量的mp4视频时,它可以正常工作,但是当我尝试在播放列表中播放一两个视频后,尝试播放较高质量的mp4视频时,屏幕上不显示任何内容,并且日志显示以下异常

com.google.android.exoplayer.MediaCodecTrackRenderer $ DecoderInitializationException:解码器初始化失败:OMX.amlogic.avc.decoder.awesome,MediaFormat(video / avc,198826、1920、1080,-1.0,-1,-1,-1, -1,-1)

即使我第一次播放相同的高质量视频,然后再次播放,也会抛出此异常。当视频大小超过80mb时,会引发此异常。是否存在某些缓冲区大小问题?有人能指导我吗?非常感谢你

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.adplayertexture);   
    AdplayerTexture=(TextureView)findViewById(R.id.AdPlayerTexture);
    AdplayerTexture.setBackgroundColor(Color.BLACK);
        AdplayerTexture.setSurfaceTextureListener(this);
  }
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width,
    int height) {

 AdPlayerSurface = new Surface( surface); 
 playMedia(AdPlayerSurface);
}


private void playMedia(Surface surface){
mediaplayer=new ExoPlayer();
mediaplayer.play(this,Videopathlist[CurrentVideoIndex],surface;
 mediaplayer.addListener(this);   
   }

@Override
public void onStateChanged(boolean playWhenReady, int playbackState) {

if (playbackState == ExoPlayer.STATE_ENDED) {
//releasing the resources   
    mediaplayer.DestroyPlayer();
AdPlayerSurface.release();

AdPlayerSurface=new Surface(AdplayerTexture.getSurfaceTexture());
    CurrentVideoIndex++;
playMedia(AdPlayerSurface);
}
Run Code Online (Sandbox Code Playgroud)

这是root2mediaplayer类中的play()函数

public void playMedia(Activity playerActivity,String mediapath,final long Position,Surface mediasurface){
    String Systemroot …
Run Code Online (Sandbox Code Playgroud)

android decoder exoplayer

6
推荐指数
1
解决办法
2541
查看次数

为什么我的视频不适合纹理的大小,因为我改变了纹理的大小

Iam试图使用纹理视图渲染视频动画,动画效果很好,但是当我将纹理缩放到不同大小时,媒体播放器不会缩放以适应纹理的大小,视频总是在后台播放全屏我只能看到视频的一部分,当我缩放纹理
我的代码在运行Android 4.0的一些Android设备上工作正常,但不适用于更高版本的Android设备.继承我的动画代码,请告诉我问题出在哪里..

public class MainActivity extends Activity implements TextureView.SurfaceTextureListener{
AnimationSet animset;
TextureView myTexture;
MediaPlayer mMediaPlayer;
Surface s;
int height;
static final String LogFileName = "Log";
int width;
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  myTexture = new TextureView(this);
  myTexture.setSurfaceTextureListener(this);
  setContentView(myTexture);    
   }

   @Override
   public void onSurfaceTextureAvailable(SurfaceTexture arg0, int arg1,
   int arg2) {


   String mediaStorageDir = Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_DOWNLOADS).getAbsolutePath();
s = new Surface(arg0);

   try {
       mMediaPlayer= new MediaPlayer();
       mMediaPlayer.setSurface(s);
       mMediaPlayer.setDataSource(mediaStorageDir+"/AirIndia.mp4");
       mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
       mMediaPlayer.prepareAsync();
       mMediaPlayer.setLooping(true);
       mMediaPlayer.setOnPreparedListener(new OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {

                mMediaPlayer.start(); …
Run Code Online (Sandbox Code Playgroud)

scaling android android-mediaplayer textureview

0
推荐指数
1
解决办法
3299
查看次数