quick3.3final音乐播放问题

--------------------------------
-- 播放音乐
-- @function  playMusic
-- @param string filename 音乐文件名
-- @param boolean isLoop 是否循环播放,默认为 true

-- end --

function audio.playMusic(filename, isLoop)
    if not filename then
        printError("audio.playMusic() - invalid filename")
        return
    end
    if type(isLoop) ~= "boolean" then isLoop = true end
    
--    audio.stopMusic()
    if DEBUG > 1 then
        printInfo("audio.playMusic() - filename: %s, isLoop: %s", tostring(filename), tostring(isLoop))
    end
    sharedEngine:playMusic(filename, isLoop)
end


```

我把audio.stopMusic注释掉,才能播放音乐,在安卓上,
直接用cc.SimpleAudioEngine:getInstance():playMusic(res.BgMusic.MapMusic, true)能播放

更新到final可以了,不知道为什么。

–声音和音效checkbox
local function checkboxmusicEvent(sender,eventType)
–print(ccui.CheckBoxEventType.selected)
if eventType == ccui.CheckBoxEventType.selected then
– app.playerData:setMusicBg(true)
audio.playMusic(res.BgMusic.GameingStage,true)
elseif eventType == ccui.CheckBoxEventType.unselected then
app.playerData:setMusicBg(false)
end
end
在win上可以播放,但是到手机上不能播放音乐,偶尔可以。真奇怪了。

确实是这样的,音乐为什么不能关了开,开了关啊,我也是quick3.3final,一个背景音乐,想通过一个开关来控制,第一次打开播放正常audio.playMusic(“xx.ogg”,true),然后关了音乐audio.stopMusic(true)或audio.stopMusic(flase),再打开就没声音了,不知道是不是bug,希望官方人士给条明路

测试代码如下,有问题啊播放音乐:但求官方修改这个bug啊。

local TScene = class("TScene", function()
    return display.newScene("TScene")
end)

TScene.CHECKBOX_BUTTON_IMAGES = {
    off = "CheckBoxButtonOff.png",
    off_pressed = "CheckBoxButtonOffPressed.png",
    off_disabled = "CheckBoxButtonOffDisabled.png",
    on = "CheckBoxButtonOn.png",
    on_pressed = "CheckBoxButtonOnPressed.png",
    on_disabled = "CheckBoxButtonOnDisabled.png",
}

function TScene:ctor()
    local checkBoxButton1
    local sharedEngine = cc.SimpleAudioEngine:getInstance()
    local function updateCheckBoxButtonLabel(checkbox)
        local state = ""
        if checkbox:isButtonSelected() then
            state = "on"
--            cc.audioEngine.stopMusic(true);
            sharedEngine:playMusic("GameingStage.mp3", true);
            audio.playMusic("GameingStage.mp3",true)
        else
            state = "off"
            sharedEngine:stopMusic(true);
        end
        print(state)
        if not checkbox:isButtonEnabled() then
            state = state .. " (disabled)"
        end
    end
    
    checkBoxButton1 = cc.ui.UICheckBoxButton.new(TScene.CHECKBOX_BUTTON_IMAGES)
        :setButtonLabel(cc.ui.UILabel.new({text = "", size = 22,  color = cc.c3b(255, 96, 255)}))
        :setButtonLabelOffset(0, -40)
        :setButtonLabelAlignment(display.CENTER)
        :onButtonStateChanged(function(event)
            updateCheckBoxButtonLabel(event.target)
        end)
        :align(display.LEFT_CENTER, display.left + 40, display.top - 80)
        :addTo(self)
    updateCheckBoxButtonLabel(checkBoxButton1)
end

return TScene



```

我也是这问题。。。并且我是两个音乐文件。。。只要stop掉一个音乐文件之后就再也不会播放那个音乐了

1月份提的bug,到现在还没有官方的人做出回应,哎。。。

声音播放问题挺多的,我碰到过好几种

  1. audio.playSound,如果音效时间长,安卓下只能放到前几秒,后面就不播放了。 http://www.cocoachina.com/bbs/read.php?tid-302330.html
  2. 从后台切换回游戏的时候,常常发出莫名其妙的音效声音,ios,安卓都存在
  3. ios正常游戏中也会放出不合适的音效