... | @@ -720,9 +720,81 @@ private void getVideoScreenShot() { |
... | @@ -720,9 +720,81 @@ private void getVideoScreenShot() { |
|
}
|
|
}
|
|
```
|
|
```
|
|
|
|
|
|
## 4.21 错误处理
|
|
## 4.21 弹幕功能
|
|
|
|
发送弹幕。
|
|
|
|
|
|
|
|
```
|
|
|
|
/**
|
|
|
|
* @param videoId 视频ID
|
|
|
|
* @param danmuText 弹幕文字
|
|
|
|
* @param currentPosition 发送弹幕时的视频播放位置
|
|
|
|
* @param danmuColor 弹幕颜色(格式如:0xffffff)
|
|
|
|
* @param onSendDanmuListener 发送结果
|
|
|
|
*/
|
|
|
|
player.sendDanmu(videoId, danmuText, currentPosition, danmuColor, new OnSendDanmuListener() {
|
|
|
|
@Override
|
|
|
|
public void onSuccess() {
|
|
|
|
runOnUiThread(new Runnable() {
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
isCanSendDanmu = false;
|
|
|
|
sendDanmuInterval = 5;
|
|
|
|
addDanmu(danmuText, danmuColor, currentPosition, true);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onFail(final String msg) {
|
|
|
|
runOnUiThread(new Runnable() {
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
MultiUtils.showToast(activity, "发送弹幕失败:" + msg);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
```
|
|
|
|
获取弹幕数据。
|
|
|
|
|
|
|
|
```
|
|
|
|
/**
|
|
|
|
* @param videoId 视频ID
|
|
|
|
* @param sec 段号
|
|
|
|
*每隔1分钟调用1次,段号递增
|
|
|
|
*/
|
|
|
|
player.getDanmuList(videoId, sec);
|
|
|
|
|
|
|
|
//查询弹幕结果
|
|
|
|
player.setOnDanmuListListener(new OnDanmuListListener() {
|
|
|
|
/**
|
|
|
|
* @param danmuInfos 弹幕信息
|
|
|
|
* danmuInfo组成字段:
|
|
|
|
* content:字幕内容 fc:字幕颜色,格式如:0xffffff
|
|
|
|
* pt:字幕相对于视频出现的时间
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
public void onSuccess(final ArrayList<DanmuInfo> danmuInfos) {
|
|
|
|
runOnUiThread(new Runnable() {
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onFail(String msg) {
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
```
|
|
|
|
弹幕功能的演示请参考Demo。
|
|
|
|
|
|
|
|
|
|
|
|
## 4.22 错误处理
|
|
错误信息有两种,一种是播放器触发的错误,另一种是获得场景视频自定义的错误。
|
|
错误信息有两种,一种是播放器触发的错误,另一种是获得场景视频自定义的错误。
|
|
### 4.21.1 监听播放器的错误事件
|
|
### 4.22.1 监听播放器的错误事件
|
|
DWMediaPlayer重载了MediaPlayer的setOnErrorListener()方法,如果需要在应用中提示错误信息,可调用此方法设置OnErrorListener。具体实现方式如下:
|
|
DWMediaPlayer重载了MediaPlayer的setOnErrorListener()方法,如果需要在应用中提示错误信息,可调用此方法设置OnErrorListener。具体实现方式如下:
|
|
|
|
|
|
```
|
|
```
|
... | @@ -734,7 +806,7 @@ player.setOnErrorListener(new MediaPlayer.OnErrorListener() { |
... | @@ -734,7 +806,7 @@ player.setOnErrorListener(new MediaPlayer.OnErrorListener() { |
|
}
|
|
}
|
|
});
|
|
});
|
|
```
|
|
```
|
|
### 4.21.2 监听获得场景视频自定义的错误事件
|
|
### 4.22.2 监听获得场景视频自定义的错误事件
|
|
|
|
|
|
```
|
|
```
|
|
player.setOnDreamWinErrorListener(new OnDreamWinErrorListener() {
|
|
player.setOnDreamWinErrorListener(new OnDreamWinErrorListener() {
|
... | @@ -746,9 +818,9 @@ player.setOnDreamWinErrorListener(new OnDreamWinErrorListener() { |
... | @@ -746,9 +818,9 @@ player.setOnDreamWinErrorListener(new OnDreamWinErrorListener() { |
|
```
|
|
```
|
|
|
|
|
|
|
|
|
|
## 4.22 错误码
|
|
## 4.23 错误码
|
|
|
|
|
|
### 4.22.1 HuodeException自定义的错误码
|
|
### 4.23.1 HuodeException自定义的错误码
|
|
|
|
|
|
```
|
|
```
|
|
101:无播放节点
|
|
101:无播放节点
|
... | @@ -821,7 +893,7 @@ player.setOnDreamWinErrorListener(new OnDreamWinErrorListener() { |
... | @@ -821,7 +893,7 @@ player.setOnDreamWinErrorListener(new OnDreamWinErrorListener() { |
|
505:加载数据失败
|
|
505:加载数据失败
|
|
```
|
|
```
|
|
|
|
|
|
### 4.22.2 ijkplayer错误码
|
|
### 4.23.2 ijkplayer错误码
|
|
|
|
|
|
```
|
|
```
|
|
int MEDIA_INFO_UNKNOWN = 1;//未知信息
|
|
int MEDIA_INFO_UNKNOWN = 1;//未知信息
|
... | | ... | |