2015-12-30 12 views
6

çalışmıyor ama şimdi bu uygulamanın geri kalanını güncellemeyi bitirdikten sonra ve bu ses çalmıyor sonuçlandırmak için geri gitmiş alınamıyor.İyonik: Medya eklentisi - Bu <code>ionic</code> eski bir sürümüyle çalışan olmuştu

Ben Uygulamada bir demo sesi için bir açma-kapama düğmesi var. İşte kod, yorumlarla ve yorumladığım bölümle sorunuma neden olabileceğini düşündüm. Öyle değil.

.controller('SoundCtrl', function($scope, $timeout) { 

    $scope.sound_on = false; 
    var media  = new Media('100bpm.wav'); 

    $scope.soundPlayer = function() { 
     console.log("in soundPlayer"); 
     if($scope.sound_on == false) { 
      $scope.sound_on = true; 
      media.setVolume('1.0'); 
      media.play(); 
      console.log("sound on"); 
      console.log(media); 

      /*$timeout(function(){ 
      $scope.sound_on=false; 
      console.log("should change"); 
      }, 12600);*/ 

     } else { 
      media.stop(); 
      $scope.sound_on = false; 
      console.log("sound off"); 
     } 
    } 
}); 

İyiyim konsol günlükleri almak ve benim js komut dosyaları aynı klasöre wav dosyası koydu.

Hala hiçbir şey.

Herhangi bir yardım?

+0

'100bpm.wav' aynı yerde mi? – Dino

+0

Bu eklentiyi kullanıyor musunuz? https://github.com/apache/cordova-plugin-media Konsol günlükleri, herhangi bir eklentiye bağlı koddan bağımsız oldukları için tetiklenir. İyonik güncelledikten sonra eklentiyi yeniden eklemenizi öneririm. – knfd

cevap

5

İon forumunda this post göre sen Android cihazda medya dosyasının yolunu '/ android_asset/www /' eklemek zorunda.

Yani kod aşağıda olur: Benim denemede ben mağaza medya nesnesine kumanda $ kapsamı bir özelliğini (medya) kullanılan ve ben de successHandler, errorHandler, statusHandler

ekli

$scope.media = new Media('/android_asset/www/'+'100bpm.wav', 
     function() { 
      console.log("[mediaSuccess]"); 
     }, function(err) { 
      console.log("[mediaError]", err); 
     }, function(status) { 
      console.log("[mediaStatus]", status); 
     }); 

Not: Media sınıfının (işlev), SoundCtrl'de new media() ile başlattığınızda kullanılabilir olduğunu unutmayın. O (cordova.plugin.media hazır olduğunda yani) onDeviceReady önce oluşturulacak SoundCtrl o benim başıma, bu yüzden $scope.soundPlayer() fonksiyonuna new Media(...) eklendi.

+0

Hala çalışmıyor. Asıl dosyayı nereye koyacağımı bilmiyorum. –

+1

yani/www/sesi altındaki dosyayı koyarsanız/sen '$ scope.media = new Medya ('/android_asset/www/audio/100bpm.wav' ...' – beaver

+0

ile başvuruda bulunmalıdır Ve şimdi işe yarıyor. Neden bu ön ve merkezi docs neden yapılmadı benden öte.Teşekkürler.Gerçekten bu sonsuza kadar aldı! –