我正在打开一个点击按钮的活动,下一个活动是从服务器播放视频,如果我点击按钮,它发生了黑色和5-6秒后,它开始播放视频,如何避免黑屏?
下面是我的代码:
mPreview=new SurfaceView(getApplicationContext());
l1.addView(mPreview);
holder = mPreview.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
extras = getIntent().getExtras();
以下内容为surfacecreted方法。
path = "http://www.pixintro.com/upload/video/Benetton.mp4";
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(Environment.getExternalStorageDirectory()+"/Benetton.mp4");
mMediaPlayer.setDataSource(path);
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepare();
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnVideoSizeChangedListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
public void onPrepared(MediaPlayer mediaplayer){
mIsVideoReadyToBePlayed = true;
if (mIsVideoReadyToBePlayed && mIsVideoSizeKnown){
holder.setFixedSize(mVideoWidth, mVideoHeight);
mMediaPlayer.start();
}
}
您可以使用异步任务。当处理在doInBackground()中完成时,即在后台。您可以显示一个进度对话框(onPreExecute()),该对话框在任务完成后立即被取消(onPostExecute)。
public class DisplayActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main_screen);
// create surface view etc
new Operation().execute();
}
}
private class Operation extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
// code to be executed in background thread
for(int i=0;i<5;i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return "Executed";
}
@Override
protected void onPostExecute(String result) {
// runs on UI thread and updated UI after executing doInBackground
progressDialog.dismiss();
}
@Override
protected void onPreExecute() {
ProgressDialog progressDialog = ProgressDialog.show(MainActivity.this, "Title ", "Loading...");
progressDialog.show();
}
@Override
protected void onProgressUpdate(Void... values) {
// runs on UI thread and starts first
}
}
我正在开发一个音频播放器,它可以在后台播放音频文件。我的问题是,当录像机或视频播放器启动时,我需要暂停音频播放器。 有什么方法可以处理这个任务吗?例如,我有来处理这些调用。当我接到呼叫或wnat呼叫时,我们可以使用呼叫状态暂停播放器。我想为录像机或视频播放器以及相同的场景。当视频/录制开始时,我需要暂停音频播放器。
如果我在任何Android音乐播放器中播放音乐,然后用介绍视频启动我的应用程序(用MediaPlayer处理)音乐停止。我想避免(音乐继续播放),因为我的应用程序介绍视频本身没有声音。 当MediaPlayer启动它的内容时,是否可以避免获得音频焦点?(MediaPlayer.start()-->AudioManager为音乐播放器分派一个AudioFocusChange)
在我的应用程序中,我想显示来自服务器URI路径的视频,在这里,第一次播放视频,当我想第二次播放视频时,视频没有播放,并显示一个弹出窗口,如无法播放此视频 下面是我的错误 提前谢谢。
问题内容: 我正在尝试使用Swift从服务器播放视频。 我已经导入了 MediaPlayer 框架,这是我的代码: 当我在模拟器中运行时,我只会看到一个黑匣子,但是无论从哪里尝试加载视频,都无法播放视频。 更新 这是当前代码 这段代码有趣地播放了大约2秒钟的视频,然后再次变黑! 问题答案: 更新2019,Swift 4: 在iOS 9.0中不推荐使用MPMovieControlStyle”:在AV
我已经创建了一个android应用程序,使用媒体播放器播放文本到语音文件,但是如果其他音频/视频开始播放,那么我的音频也会播放,即同时播放两个音频。 有没有办法在开始另一个音频/视频之前停止第一个音频。 是否有任何广播接收器会在其他音频开始时被调用。 我用过- layer.play播放音频。 和暂停音频。 任何帮助都将不胜感激。
我已经建立了我的音乐列表(RecyclerView)中的每一项都有两个按钮,第一个播放音乐,第二个暂停停止,但当我点击播放两个音频时,两个启动,而我希望第一个停止。这是我的适配器(标志是在播放音频时将图像视图从播放更改为暂停) 非常感谢。