写代码,给一个点播网址,通过setOnInfoListener测速
时间: 2023-11-28 14:48:34 浏览: 29
这是一个基于Android平台的示例代码,通过setOnInfoListener方法实现测速:
```java
// 1. 引入必要的包
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
import java.io.IOException;
// 2. 实现MediaPlayer.OnInfoListener接口
public class MainActivity extends AppCompatActivity implements MediaPlayer.OnInfoListener {
private static final String TAG = "MainActivity";
// 3. 定义MediaPlayer和播放地址
private MediaPlayer mMediaPlayer;
private String mUrl = "your url here";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 4. 初始化MediaPlayer并设置监听器
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setOnInfoListener(this);
// 5. 设置播放地址并开始准备
try {
mMediaPlayer.setDataSource(mUrl);
mMediaPlayer.prepareAsync();
} catch (IOException e) {
e.printStackTrace();
}
}
// 6. 实现OnInfoListener接口方法,处理MEDIA_INFO_BUFFERING_START和MEDIA_INFO_BUFFERING_END事件
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
switch (what) {
case MediaPlayer.MEDIA_INFO_BUFFERING_START:
Log.d(TAG, "Buffering start");
break;
case MediaPlayer.MEDIA_INFO_BUFFERING_END:
Log.d(TAG, "Buffering end");
break;
}
return true;
}
}
```
在该示例代码中,通过初始化MediaPlayer并设置监听器,在播放器准备完成后,通过设置setOnInfoListener方法注册事件监听器,处理MEDIA_INFO_BUFFERING_START和MEDIA_INFO_BUFFERING_END事件,从而实现测速的效果。