|
|
@ -193,18 +193,18 @@ public class WebViewActivity extends BaseActivity { |
|
|
videoMap.put("hat_speek", videoUri2); |
|
|
videoMap.put("hat_speek", videoUri2); |
|
|
|
|
|
|
|
|
//小红帽变身贵妇
|
|
|
//小红帽变身贵妇
|
|
|
Uri videoUri3 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.hatto); |
|
|
|
|
|
videoMap.put("hat_to", videoUri3); |
|
|
|
|
|
//贵妇变身小红帽
|
|
|
|
|
|
Uri videoUri4 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.hatback); |
|
|
|
|
|
videoMap.put("hat_back", videoUri4); |
|
|
|
|
|
//贵妇背景
|
|
|
|
|
|
Uri videoUri5 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.bg1); |
|
|
|
|
|
videoMap.put("hat_bg1", videoUri5); |
|
|
|
|
|
Uri videoUri6 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.hello1); |
|
|
|
|
|
videoMap.put("hat_hello1", videoUri6); |
|
|
|
|
|
Uri videoUri7 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.speek1); |
|
|
|
|
|
videoMap.put("hat_speek1", videoUri7); |
|
|
|
|
|
|
|
|
// Uri videoUri3 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.hatto);
|
|
|
|
|
|
// videoMap.put("hat_to", videoUri3);
|
|
|
|
|
|
// //贵妇变身小红帽
|
|
|
|
|
|
// Uri videoUri4 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.hatback);
|
|
|
|
|
|
// videoMap.put("hat_back", videoUri4);
|
|
|
|
|
|
// //贵妇背景
|
|
|
|
|
|
// Uri videoUri5 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.bg1);
|
|
|
|
|
|
// videoMap.put("hat_bg1", videoUri5);
|
|
|
|
|
|
// Uri videoUri6 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.hello1);
|
|
|
|
|
|
// videoMap.put("hat_hello1", videoUri6);
|
|
|
|
|
|
// Uri videoUri7 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.speek1);
|
|
|
|
|
|
// videoMap.put("hat_speek1", videoUri7);
|
|
|
|
|
|
|
|
|
soundPool = new SoundPool.Builder() |
|
|
soundPool = new SoundPool.Builder() |
|
|
.setMaxStreams(2) |
|
|
.setMaxStreams(2) |
|
|
@ -214,11 +214,11 @@ public class WebViewActivity extends BaseActivity { |
|
|
currentVideo = binding.bgVideo; |
|
|
currentVideo = binding.bgVideo; |
|
|
loadingHelloVideo(); |
|
|
loadingHelloVideo(); |
|
|
loadingSpeekVideo(); |
|
|
loadingSpeekVideo(); |
|
|
loadingToVideo(); |
|
|
|
|
|
loadingBackVideo(); |
|
|
|
|
|
loadingbgVideo1(); |
|
|
|
|
|
loadingHelloVideo1(); |
|
|
|
|
|
loadingSpeekVideo1(); |
|
|
|
|
|
|
|
|
// loadingToVideo();
|
|
|
|
|
|
// loadingBackVideo();
|
|
|
|
|
|
// loadingbgVideo1();
|
|
|
|
|
|
// loadingHelloVideo1();
|
|
|
|
|
|
// loadingSpeekVideo1();
|
|
|
//设置密码
|
|
|
//设置密码
|
|
|
initPass(); |
|
|
initPass(); |
|
|
if("sbc".equals(Constant.TTSFac)){ // 思必驰
|
|
|
if("sbc".equals(Constant.TTSFac)){ // 思必驰
|
|
|
@ -299,98 +299,98 @@ public class WebViewActivity extends BaseActivity { |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
//小红帽变 to
|
|
|
//小红帽变 to
|
|
|
private void loadingToVideo(){ |
|
|
|
|
|
binding.toVideo.setVideoURI(videoMap.get("hat_to")); |
|
|
|
|
|
binding.toVideo.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public void onPrepared(MediaPlayer mp) { |
|
|
|
|
|
binding.toVideo.start(); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
binding.toVideo.setOnErrorListener(new MediaPlayer.OnErrorListener() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public boolean onError(MediaPlayer mp, int what, int extra) { |
|
|
|
|
|
LoggerUtil.e("changeVideo: ","toVideo 播放失败"); |
|
|
|
|
|
return true; // 返回true表示已处理,不会弹出系统默认提示
|
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
binding.toVideo.setOnCompletionListener( mp -> changeVideo("bg")); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// private void loadingToVideo(){
|
|
|
|
|
|
// binding.toVideo.setVideoURI(videoMap.get("hat_to"));
|
|
|
|
|
|
// binding.toVideo.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
|
|
|
|
|
|
// @Override
|
|
|
|
|
|
// public void onPrepared(MediaPlayer mp) {
|
|
|
|
|
|
// binding.toVideo.start();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// binding.toVideo.setOnErrorListener(new MediaPlayer.OnErrorListener() {
|
|
|
|
|
|
// @Override
|
|
|
|
|
|
// public boolean onError(MediaPlayer mp, int what, int extra) {
|
|
|
|
|
|
// LoggerUtil.e("changeVideo: ","toVideo 播放失败");
|
|
|
|
|
|
// return true; // 返回true表示已处理,不会弹出系统默认提示
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// binding.toVideo.setOnCompletionListener( mp -> changeVideo("bg"));
|
|
|
|
|
|
// }
|
|
|
//小红帽回 back
|
|
|
//小红帽回 back
|
|
|
private void loadingBackVideo(){ |
|
|
|
|
|
binding.backVideo.setVideoURI(videoMap.get("hat_back")); |
|
|
|
|
|
binding.backVideo.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public void onPrepared(MediaPlayer mp) { |
|
|
|
|
|
binding.backVideo.start(); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
binding.backVideo.setOnErrorListener(new MediaPlayer.OnErrorListener() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public boolean onError(MediaPlayer mp, int what, int extra) { |
|
|
|
|
|
LoggerUtil.e("changeVideo: ","backVideo 播放失败"); |
|
|
|
|
|
return true; // 返回true表示已处理,不会弹出系统默认提示
|
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
binding.backVideo.setOnCompletionListener( mp -> { |
|
|
|
|
|
changeVideo("bg"); |
|
|
|
|
|
stopMusic(); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// private void loadingBackVideo(){
|
|
|
|
|
|
// binding.backVideo.setVideoURI(videoMap.get("hat_back"));
|
|
|
|
|
|
// binding.backVideo.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
|
|
|
|
|
|
// @Override
|
|
|
|
|
|
// public void onPrepared(MediaPlayer mp) {
|
|
|
|
|
|
// binding.backVideo.start();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// binding.backVideo.setOnErrorListener(new MediaPlayer.OnErrorListener() {
|
|
|
|
|
|
// @Override
|
|
|
|
|
|
// public boolean onError(MediaPlayer mp, int what, int extra) {
|
|
|
|
|
|
// LoggerUtil.e("changeVideo: ","backVideo 播放失败");
|
|
|
|
|
|
// return true; // 返回true表示已处理,不会弹出系统默认提示
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// binding.backVideo.setOnCompletionListener( mp -> {
|
|
|
|
|
|
// changeVideo("bg");
|
|
|
|
|
|
// stopMusic();
|
|
|
|
|
|
// });
|
|
|
|
|
|
// }
|
|
|
//彩蛋背景视频
|
|
|
//彩蛋背景视频
|
|
|
private void loadingbgVideo1(){ |
|
|
|
|
|
binding.bgVideo1.setVideoURI(videoMap.get("hat_bg1")); |
|
|
|
|
|
binding.bgVideo1.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public void onPrepared(MediaPlayer mp) { |
|
|
|
|
|
mp.setLooping(true); // 可选:设置循环播
|
|
|
|
|
|
binding.bgVideo1.start(); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
binding.bgVideo1.setOnErrorListener(new MediaPlayer.OnErrorListener() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public boolean onError(MediaPlayer mp, int what, int extra) { |
|
|
|
|
|
LoggerUtil.e("changeVideo: ","backVideo 播放失败"); |
|
|
|
|
|
return true; // 返回true表示已处理,不会弹出系统默认提示
|
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// private void loadingbgVideo1(){
|
|
|
|
|
|
// binding.bgVideo1.setVideoURI(videoMap.get("hat_bg1"));
|
|
|
|
|
|
// binding.bgVideo1.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
|
|
|
|
|
|
// @Override
|
|
|
|
|
|
// public void onPrepared(MediaPlayer mp) {
|
|
|
|
|
|
// mp.setLooping(true); // 可选:设置循环播
|
|
|
|
|
|
// binding.bgVideo1.start();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// binding.bgVideo1.setOnErrorListener(new MediaPlayer.OnErrorListener() {
|
|
|
|
|
|
// @Override
|
|
|
|
|
|
// public boolean onError(MediaPlayer mp, int what, int extra) {
|
|
|
|
|
|
// LoggerUtil.e("changeVideo: ","backVideo 播放失败");
|
|
|
|
|
|
// return true; // 返回true表示已处理,不会弹出系统默认提示
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// }
|
|
|
//彩蛋hello视频
|
|
|
//彩蛋hello视频
|
|
|
private void loadingHelloVideo1(){ |
|
|
|
|
|
binding.helloVideo1.setVideoURI(videoMap.get("hat_hello1")); |
|
|
|
|
|
binding.helloVideo1.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public void onPrepared(MediaPlayer mp) { |
|
|
|
|
|
mp.setLooping(true); // 可选:设置循环播
|
|
|
|
|
|
binding.helloVideo1.start(); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
binding.helloVideo1.setOnErrorListener(new MediaPlayer.OnErrorListener() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public boolean onError(MediaPlayer mp, int what, int extra) { |
|
|
|
|
|
LoggerUtil.e("changeVideo: ","helloVideo1 播放失败"); |
|
|
|
|
|
return true; // 返回true表示已处理,不会弹出系统默认提示
|
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// private void loadingHelloVideo1(){
|
|
|
|
|
|
// binding.helloVideo1.setVideoURI(videoMap.get("hat_hello1"));
|
|
|
|
|
|
// binding.helloVideo1.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
|
|
|
|
|
|
// @Override
|
|
|
|
|
|
// public void onPrepared(MediaPlayer mp) {
|
|
|
|
|
|
// mp.setLooping(true); // 可选:设置循环播
|
|
|
|
|
|
// binding.helloVideo1.start();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// binding.helloVideo1.setOnErrorListener(new MediaPlayer.OnErrorListener() {
|
|
|
|
|
|
// @Override
|
|
|
|
|
|
// public boolean onError(MediaPlayer mp, int what, int extra) {
|
|
|
|
|
|
// LoggerUtil.e("changeVideo: ","helloVideo1 播放失败");
|
|
|
|
|
|
// return true; // 返回true表示已处理,不会弹出系统默认提示
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// }
|
|
|
//彩蛋Speek视频
|
|
|
//彩蛋Speek视频
|
|
|
private void loadingSpeekVideo1(){ |
|
|
|
|
|
binding.speekVideo1.setVideoURI(videoMap.get("hat_speek1")); |
|
|
|
|
|
binding.speekVideo1.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public void onPrepared(MediaPlayer mp) { |
|
|
|
|
|
mp.setLooping(true); |
|
|
|
|
|
binding.speekVideo1.start(); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
binding.speekVideo1.setOnErrorListener(new MediaPlayer.OnErrorListener() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public boolean onError(MediaPlayer mp, int what, int extra) { |
|
|
|
|
|
LoggerUtil.e("changeVideo: ","speekVideo1 播放失败"); |
|
|
|
|
|
return true; // 返回true表示已处理,不会弹出系统默认提示
|
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// private void loadingSpeekVideo1(){
|
|
|
|
|
|
// binding.speekVideo1.setVideoURI(videoMap.get("hat_speek1"));
|
|
|
|
|
|
// binding.speekVideo1.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
|
|
|
|
|
|
// @Override
|
|
|
|
|
|
// public void onPrepared(MediaPlayer mp) {
|
|
|
|
|
|
// mp.setLooping(true);
|
|
|
|
|
|
// binding.speekVideo1.start();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// binding.speekVideo1.setOnErrorListener(new MediaPlayer.OnErrorListener() {
|
|
|
|
|
|
// @Override
|
|
|
|
|
|
// public boolean onError(MediaPlayer mp, int what, int extra) {
|
|
|
|
|
|
// LoggerUtil.e("changeVideo: ","speekVideo1 播放失败");
|
|
|
|
|
|
// return true; // 返回true表示已处理,不会弹出系统默认提示
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
//切换视频状态
|
|
|
//切换视频状态
|
|
|
private void changeVideoAfter(){ |
|
|
private void changeVideoAfter(){ |
|
|
@ -407,18 +407,18 @@ public class WebViewActivity extends BaseActivity { |
|
|
LoggerUtil.e("changeVideo", type); |
|
|
LoggerUtil.e("changeVideo", type); |
|
|
VideoView nextVideo; |
|
|
VideoView nextVideo; |
|
|
switch(type.trim()){ |
|
|
switch(type.trim()){ |
|
|
case "back" : |
|
|
|
|
|
if(currentVideo == binding.backVideo){ |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
nextVideo = binding.backVideo; |
|
|
|
|
|
break; |
|
|
|
|
|
case "to" : |
|
|
|
|
|
if(currentVideo == binding.toVideo){ |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
nextVideo = binding.toVideo; |
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
// case "back" :
|
|
|
|
|
|
// if(currentVideo == binding.backVideo){
|
|
|
|
|
|
// return;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// nextVideo = binding.backVideo;
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "to" :
|
|
|
|
|
|
// if(currentVideo == binding.toVideo){
|
|
|
|
|
|
// return;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// nextVideo = binding.toVideo;
|
|
|
|
|
|
// break;
|
|
|
case "bg" : |
|
|
case "bg" : |
|
|
if(currentVideo == binding.bgVideo && "".equals(videoAfter)){ |
|
|
if(currentVideo == binding.bgVideo && "".equals(videoAfter)){ |
|
|
return; |
|
|
return; |
|
|
@ -689,13 +689,13 @@ public class WebViewActivity extends BaseActivity { |
|
|
@JavascriptInterface |
|
|
@JavascriptInterface |
|
|
public void changeVideoState(String txt) { |
|
|
public void changeVideoState(String txt) { |
|
|
LoggerUtil.e(TAG,"JS调用了Android的方法:changeVideoState()"); |
|
|
LoggerUtil.e(TAG,"JS调用了Android的方法:changeVideoState()"); |
|
|
videoAfter = txt; |
|
|
|
|
|
runOnUiThread(new Runnable() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public void run() { |
|
|
|
|
|
changeVideoAfter(); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
//videoAfter = txt;
|
|
|
|
|
|
// runOnUiThread(new Runnable() {
|
|
|
|
|
|
// @Override
|
|
|
|
|
|
// public void run() {
|
|
|
|
|
|
// changeVideoAfter();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
} |
|
|
} |
|
|
// h5调用android:开始识别语音
|
|
|
// h5调用android:开始识别语音
|
|
|
@JavascriptInterface |
|
|
@JavascriptInterface |
|
|
|