6643


MonacaのOnsen UI最小限のテンプレートで開発しているのですが、currentTimeが動作しません。  
<http://docs.monaca.mobi/ja/sampleapp/samples/#6>

currentTimeで再生位置を0にし、音声ファイルを先頭から再生できるようにしたかったのですが、動作せず困っています。

currentTimeが動作しない場合audio.pause(); audio.src =
audio.src;で動作すると書いてあり試しましたがダメでした。  
<https://stackoverflow.com/questions/16966724/html5-audio-currenttime-doesnt-
work>

実装したいことは、再生した音声ファイルを停止後、再度再生する時に先頭から再生できるようにすることです。

現状実装できていることは、  
・音声ファイルの再生  
・音声ファイルの停止  
です。  
ons-back-buttonタグとons-buttonタグをonclickするとページ遷移し音声ファイルが停止する仕様です。  
解決方法を教えていただけると助かります。  
よろしくお願いいたします。

index.html

[code]

    <script>
        ons.bootstrap();
    
        function sound(){
           //[ID:sound-file]の音声ファイルを再生[play()]する
            document.getElementById("sound-file").play();
        }
    
        /* currentTimeが動作しません
        function soundpause(){
           //[ID:sound-file]の音声ファイルを停止[pause()]する
            setTimeout(function(){
                document.getElementById("sound-file").pause();
                audio.currentTime = 0;
            },10);
        }
        */
    
        /* currentTimeが動作しません
        function soundpause(){
           //[ID:sound-file]の音声ファイルを停止[pause()]する
            setTimeout(function(){
                document.getElementById("sound-file").pause();
                ("sound-file").currentTime = 0;
            },10);
        }
        */
    
        /* currentTimeが動作しない場合audio.pause(); audio.src = audio.src;で動作すると書いてあり試したが動作しない
        参考 https://stackoverflow.com/questions/16966724/html5-audio-currenttime-doesnt-work
        function soundpause(){
           //[ID:sound-file]の音声ファイルを停止[pause()]する
            setTimeout(function(){
                document.getElementById("sound-file").pause();
                audio.src = audio.src;
            },10);
        }
        */
    
        /* currentTimeが動作しない場合audio.pause(); audio.src = audio.src;で動作すると書いてあり試したが動作しない
        参考 https://stackoverflow.com/questions/16966724/html5-audio-currenttime-doesnt-work
        function soundpause(){
           //[ID:sound-file]の音声ファイルを停止[pause()]する
            setTimeout(function(){
                document.getElementById("sound-file").pause();
                ("sound-file").src = ("sound-file").src;
            },10);
        }
        */
    
    </script>
    
[/code]

  
  
  

[code]

    <!-- 音声ファイルの読み込み -->
    <audio id="sound-file" preload="auto">
    <source src="se/sound.wav" type="audio/wav">
    </audio>
    
[/code]

  

page2.html

[code]

    <ons-toolbar>
        <div class="left"><ons-back-button onclick="soundpause()">Back</ons-back-button></div>
        <div class="center">Page 2</div>
    </ons-toolbar>
    
    <a onclick="sound()"><ons-gesture-detector style="height: 100%;">
    <div style="text-align: center">
    
        <h1>Page 2</h1>
        <ons-button
            onclick="soundpause();myNavigator.popPage()">
          Pop Page
        </ons-button>
    
    </div>
    </ons-gesture-detector></a>
    
[/code]


CC BY-SA 3.0
2015-02-17T08:49:50.953
6634
2015-02-17T12:08:58.670
2017-05-23T12:38:56.467
-1
8053
question
javascript monaca onsen-ui
MonacaのOnsen UIでcurrentTimeを動作させる方法を教えていただけないでしょうか？

[code]

    function soundpause(){
       //[ID:sound-file]の音声ファイルを停止[pause()]する
        setTimeout(function(){
            var soundFile = document.getElementById("sound-file");
            soundFile.pause();
            soundFile.currentTime = 0;
        },10);
    }
    
[/code]

soundpause()の処理をこんな感じにしてみたらどうでしょうか？  
一応こちらではそれっぽい動作が確認できました。


CC BY-SA 3.0
2015-02-17T12:08:58.670
6643
2015-02-17T12:08:58.670
3516
6634
answer