1

私はこれを Javascript で動作させていますが、Titanium で動作させることができないようです。

コードは次のとおりです。

var index = 0;
var i = 0;

// Filename
var wordSoundArray = [];

wordSoundArray.push('audio/the.mp3');
wordSoundArray.push('audio/of.mp3');
wordSoundArray.push('audio/and.mp3');
wordSoundArray.push('audio/a.mp3');
wordSoundArray.push('audio/to.mp3');
wordSoundArray.push('audio/in.mp3');
wordSoundArray.push('audio/is.mp3');
wordSoundArray.push('audio/you.mp3');
wordSoundArray.push('audio/that.mp3');
wordSoundArray.push('audio/it.mp3');
wordSoundArray.push('audio/he.mp3');
wordSoundArray.push('audio/was.mp3');
wordSoundArray.push('audio/for.mp3');
wordSoundArray.push('audio/on.mp3');
wordSoundArray.push('audio/are.mp3');

newWordBtn.addEventListener("click", function(e){
    wordLabel.text = newWordArray[i++];
    if (i === newWordArray.length)
            i = 0;

    var snd = Titanium.Media.createSound({url:wordSoundArray[index++]});
    if (index === wordSoundArray.length)
            index = 0;
    if (snd.isPlaying()) {
        snd.stop();
        snd.play();
    } else {
        snd.play();
    }


});

ユーザーがボタンを押すと、新しい単語とその単語に対応する音声が得られます。ただし、サウンドが終了する前にユーザーがボタンを押すと、単に新しいサウンドが開始され、それらは互いに重なり合います。それが、コードのコードの snd.isPlaying 部分の出番です。私の間違いはそこにあると確信しています。

4

1 に答える 1