android 设置视频音量大小,为cocos2d-x添加调节视频音量的功能(Android)
為cocos2d-x添加調節視頻音量的功能(Android)。
日常吐槽cocos。我想放廣告的時候播放一些其他聲音,這時候我希望視頻先靜音,但是不停止播放。等聲音播放完,我再放視頻聲音。赫然發現,VideoPlayer 居然沒這個接口。
而且現在視頻的播放居然還沒用上跨平臺庫,而是每個平臺自己實現了一套。。神坑。。。
廢話完畢,步驟如下:
1.打開UIVideoPlayer.h 為此類添加一個函數
virtual void setVolume(int vol); //至于放哪里?隨你喜歡。。希望你有基本的c++知識。
2.UIVideoPlayer-android.cpp
void setVideoVolumeJNI(int index, int vol)
{
JniMethodInfo t;
if (JniHelper::getStaticMethodInfo(t, CLASS_NAME, "setVideoVolume", "(II)V")) {
//cocos2d::log("setVideoVolumeJNI Found");
t.env->CallStaticVoidMethod(t.classID, t.methodID, index, vol);
t.env->DeleteLocalRef(t.classID);
}
else
{
cocos2d::log("setVideoVolumeJNI Not !!!!!!!Found!!!!!!!!");
}
}
void VideoPlayer::setVolume(int vol)
{
//if (!_videoURL.empty())
{
//cocos2d::log("VideoPlayer::setVolume %d", _videoPlayerIndex);
setVideoVolumeJNI(_videoPlayerIndex, vol);
}
}
3.Cocos2dxVideoHelper.java line69
private final static int VideoTaskVolume = 15;
line109
case VideoTaskVolume:
{
Log.i("hiiiiiiiiiiiiiiisetVideoVolume", "setVideoVolume is setting to"+msg.arg1);
Cocos2dxVideoHelper helper = mReference.get();
helper._setVideoVolume(msg.arg1, msg.arg2);
break;
}
line 278
public static void setVideoVolume(int index, int volume)
{
Message msg = new Message();
msg.what = VideoTaskVolume;
msg.arg1 = index;
msg.arg2 = volume;
mVideoHandler.sendMessage(msg);
}
private void _setVideoVolume(int index, int vol) {
Cocos2dxVideoView videoView = sVideoViews.get(index);
if (videoView != null) {
videoView.setVideoVolume(vol);
}
}
Cocos2dxVideoView.java line120
public void setVideoVolume(int vol)
{
if(mMediaPlayer != null)
{
Log.i(TAG, "setVideoVolume is setting to"+vol);
mMediaPlayer.setVolume(vol, vol);
}else
{
Log.i(TAG, "I want to setVideoVolume but mediaplayer is null...");
}
}
因為我只有音量開關的需求 ,并沒有調節大小的需求,所以我傳的INT,事實上我不知道傳float的IV值是什么。。請大大告知。音量值 這里只能在0.0 -1.0之間。另外,請務必源碼級工程下搜索并修改這些文件。如果是預編譯的工程,因為你沒有編譯c++庫,所以是無效的。上班偷偷分享不容易。簡略。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的android 设置视频音量大小,为cocos2d-x添加调节视频音量的功能(Android)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何将笔记本电脑光驱改装固态硬盘如何将笔
- 下一篇: 怎么下载b站视频到电脑电脑如何下视频