如何在native.newVideo()
播放期间更改音量?
这不起作用:
local function onKeyEvent( event )
local keyname = event.keyName;
if (keyname=="back" and event.phase == "up") then
if _G.__isOverlay == true then
storyboard.hideOverlay("slideDown")
elseif storyboard.getCurrentSceneName() == "screen3" and (tableState == "info") then
goBack()
else
native.requestExit()
end
end
if ( keyname == "volumeUp" and event.phase == "down" ) then
local masterVolume = audio.getVolume()
--native.showAlert( "volume:", masterVolume, {"Ok"} )
if ( masterVolume < 1.0 ) then
masterVolume = masterVolume + 0.1
audio.setVolume( masterVolume )
end
return true
elseif ( keyname == "volumeDown" and event.phase == "down" ) then
local masterVolume = audio.getVolume()
--native.showAlert( "volume:", masterVolume, {"Ok"} )
if ( masterVolume > 0.0 ) then
masterVolume = masterVolume - 0.1
audio.setVolume( masterVolume )
end
return true
end
return true
end
if system.getInfo( "platformName" ) == "Android" then
Runtime:addEventListener( "key", onKeyEvent )
end
答案 0 :(得分:0)
实际上,当您使用audio.setVolume时,它也可以将特定通道作为参数传递。 我认为native.newVideo()可能不会使用主音量控件,而实际上可能会使用特定的通道。 在您的情况下,您可以尝试使用audio.setVolume(masterVolume,0),它将影响所有可能的通道(1到32)。
如果有效,您应该通过使用此代码的循环来调试以查找实际频道:
for i=1, 32 do
print('channel '..i..' is '..audio.isChannelActive(i))
end
然后,如果找到频道,请使用audio.setVolume(masterVolume,channelNumber)仅处理视频频道:)
干杯!