在 VideoView 内添加循环
Adding looping within VideoView
我在 Android Studio 中组装的一个小应用程序遇到了一些麻烦。基本上应用程序应该启动 - 自动播放视频并保持循环直到被触摸...
除了循环工作,我已经掌握了一切 - 我已经尝试了这里的一些建议,但 none 在我的案例中有效(或者没有编码技能来让他们...)
主要代码如下
package com.pixel.danny.screensaverhfx;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.VideoView;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
VideoView videoView = findViewById(R.id.videoView);
Uri uri=Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.hab);
videoView.setVideoURI(uri);
videoView.requestFocus();
videoView.start();
videoView.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
finish();
}
}); }
}
与其调用 finish();
,不如调用 videoView.stopPlayback()
当您触摸 Videoview
您完成 activity 时,下面的代码在做什么,所以应用程序将关闭....
videoView.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
finish(); //remove this line
videoView.stopPlayback() // you can use this for stopPlay
}
});
所以删除finish();
你的问题得到了reslove
如果您想循环播放
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Toast.makeText(getApplicationContext(), "Video completed", Toast.LENGTH_LONG).show();
videoView.start(); //it will start again
}
});
我在 Android Studio 中组装的一个小应用程序遇到了一些麻烦。基本上应用程序应该启动 - 自动播放视频并保持循环直到被触摸...
除了循环工作,我已经掌握了一切 - 我已经尝试了这里的一些建议,但 none 在我的案例中有效(或者没有编码技能来让他们...)
主要代码如下
package com.pixel.danny.screensaverhfx;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.VideoView;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
VideoView videoView = findViewById(R.id.videoView);
Uri uri=Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.hab);
videoView.setVideoURI(uri);
videoView.requestFocus();
videoView.start();
videoView.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
finish();
}
}); }
}
与其调用 finish();
,不如调用 videoView.stopPlayback()
当您触摸 Videoview
您完成 activity 时,下面的代码在做什么,所以应用程序将关闭....
videoView.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
finish(); //remove this line
videoView.stopPlayback() // you can use this for stopPlay
}
});
所以删除finish();
你的问题得到了reslove
如果您想循环播放
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Toast.makeText(getApplicationContext(), "Video completed", Toast.LENGTH_LONG).show();
videoView.start(); //it will start again
}
});