【问题标题】:cordova-plugin-media lastest version what am i doing wrongcordova-plugin-media 最新版本我做错了什么
【发布时间】:2017-05-17 06:58:02
【问题描述】:

我无法让 cordova-plugin-media 发挥作用。我正在使用 Android Studio 和 Mac 的 Android 模拟器,这是我的代码。我在 index.html 文件中执行了一次点击操作,但没有任何反应。我在 index.js 文件中添加了媒体插件的代码。 安装并添加了所有 codrova 文件和媒体插件。

index.js

var app = {
// Application Constructor
initialize: function() {
    document.addEventListener('deviceready', 
this.onDeviceReady.bind(this), false);
},

// deviceready Event Handler
//
// Bind any cordova events here. Common events are:
// 'pause', 'resume', etc.
onDeviceReady: function() {
    this.receivedEvent('deviceready');

var my_media = null;
// Play audio
//
function playAudio(src) {
// Play the audio file at url
var my_media = new Media(src,
    // success callback
    function () {
        console.log("playAudio():Audio Success");
    },
    // error callback
    function (err) {
        console.log("playAudio():Audio Error: " + err);
    }
);
// Play audio
my_media.play();
} 


},

// Update DOM on a Received Event
receivedEvent: function(id) {
    var parentElement = document.getElementById(id);
    var listeningElement = parentElement.querySelector('.listening');
    var receivedElement = parentElement.querySelector('.received');

    listeningElement.setAttribute('style', 'display:none;');
    receivedElement.setAttribute('style', 'display:block;');

    console.log('Received Event: ' + id);
}
};

app.initialize();

index.html

<div data-role="main" class="ui-content">
            <span class="ui-block-a">
            <img src="img/grongoling.jpg"><h2>Gröngöling</h2>
            <a href="#" class="ui-btn ui-corner-all ui-icon-audio ui-
btn-icon-notext right" onclick="playAudio('sounds/grongoling.mp3');">
</a>
            </span>
            <span class="ui-block-a">
            <img src="img/kattuggla.jpg"><h2>Kattuggla</h2>
            <a href="#" class="ui-btn ui-corner-all ui-icon-audio ui-
btn-icon-notext right" 
onclick="playAudio('sounds/kattuggla.mp3');"></a>
            </span>
            <span class="ui-block-a">
            <img src="img/korp.jpg"><h2>Korp</h2>
            <a href="#" class="ui-btn ui-corner-all ui-icon-audio ui-
btn-icon-notext right" 
onclick="playAudio('sounds/korp.mp3');"></a>
            </span>
            <span class="ui-block-a">
            <img src="img/storrehackspett.jpg"><h2>Större 
Hackspett</h2>
            <a href="#" class="ui-btn ui-corner-all ui-icon-audio ui-
btn-icon-notext right" 
onclick="playAudio('sounds/storrehackspett.mp3');"></a>
            </span>
            <span class="ui-block-a">
            <img src="img/tofsvipa.jpg"><h2>Tofsvipa</h2>
            <a href="#" class="ui-btn ui-corner-all ui-icon-audio ui-
btn-icon-notext right" 
onclick="playAudio('sounds/tofsvipa.mp3');"></a> 
            </span>
            </div>

【问题讨论】:

  • 您能否更新您的帖子以更好地解释您的问题?
  • @VladimirGatara 插件调用时控制台出现任何错误?

标签: android cordova plugins media


【解决方案1】:

我认为您必须在 onDeviceReady() 函数之外定义 playAudio() 函数,以使其全局可访问并能够直接从 HTML 调用它。

此外,您在函数外部初始化 my_media 变量,并在函数内部使用 var 重新创建它。考虑创建一个全局变量 my_media 并将其设置在没有 var 的函数中,或者每次在函数中创建它。

【讨论】:

  • 插件代码调用不能在设备就绪之外发生。所以我想这可能无效
猜你喜欢
  • 1970-01-01
  • 2021-09-18
  • 2011-06-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多