2015-03-14 3 views
2

Я искал везде и пробовал все, но я просто не могу использовать плагин Media Cordova. (например, var sound = new Media("sound.mp3");)PhoneGap Cordova Media Plugin - Как интегрировать/установить?

Я пробовал все и не могу заставить его работать. Пожалуйста, поставьте меня из моих страданий и дайте мне пошаговую инструкцию о том, как это сделать. У меня есть android sdk и gethub уже установлены вместе с кучей других вещей.

Большинство вещей, которые я вижу, это «Установка: cordova plugin add cordova-plugin-media» ЭТО. Особенно те, у которых есть глупый символ $, который полностью непризнан.

..thank заранее :(

ответ

1

На первый двойной проверки вашей работы: Step1, Step2 Затем добавить медиа-плагин для вашего проекта вы должны:

(in app/res/xml/config.xml) 
<feature name="Media"> 
    <param name="android-package" value="org.apache.cordova.media.AudioHandler" /> 
</feature> 


(in app/AndroidManifest.xml) 
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

More info

И это образец кода о том, как его использовать (source)

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

Наконец, вы можете вызвать функцию playAudio ('путь/to/file.mp3') в вашем коде (после того, как устройство готово).

document.addEventListener("deviceready", onDeviceReady, false); 

function onDeviceReady() { 
    console.log(Media); 
    /* call function here */ 
} 
+0

Спасибо Амин за ваш быстрый и подробный ответ! К сожалению, я уже добавил все это. Единственное различие, которое сделал ваш код, - это приложение не разбилось на веб-сайте компьютера (по-прежнему не звучит), но все равно не работает вообще на моей андроидной ноте 4. У него также все еще есть ссылка «Неотдача ReferenceError: Media» не определена. –

+0

@ VardanBetikyan вы добавили тег скрипта cordova? – AtanuCSE

+0

Привет, AtanuCSE, спасибо за ответ. Эта строка? В мой index.html? Это уже было. –

1

, когда вы находитесь в корневом каталоге вашего проекта Cordova, cordova plugin ls должно привести к видя ваше org.apache.cordova.media 0.2.16 "Media" в списке.

Если нет, то плагин не был добавлен ...

cordova plugin add org.apache.cordova.media должны это сделать.

И затем убедитесь, что вы ожидаете onDeviceReady, прежде чем пытаться использовать объект Media, иначе он будет неопределенным.

+0

Здравствуйте, Tawpie, благодарю вас за ответ. Я побежал обе строки и «Медиа» и «Файл» были в списке. По-прежнему получение того же носителя не определяется ошибка:/ Хотя я не пробовал ваш метод «onDeviceReady», как это сделать? У меня есть этот код, уже встроенный в мой главный файл js, не так ли? –

+0

var app = { // Application Constructor initialize: function() { this.bindEvents(); }, // Bind Слушатели событий // // Привязать любые события, которые требуются при запуске. Общие события: // 'load', 'deviceready', 'offline' и 'online'. bindEvents: function() { document.addEventListener ('deviceready', this.onDeviceReady, false); ... ect –

+0

Ключевое значение здесь, а также причина, по которой он работает в браузере, а не в вашей заметке, заключается в том, что фактическим устройствам требуется некоторое время для Кордовы, чтобы подготовить их к использованию плагинов - браузеры на компьютерах, как правило, довольно быстро. Когда вы пытаетесь вызвать метод плагина, прежде чем Кордова будет готова, метод будет неопределенным, и это то, что происходит с вами. Когда Кордова закончит готовить плагины, он запускает событие готовности устройства как сигнал к вам, что методы плагина «определены». Это то, что наблюдает ваш addEventListener. (подробнее) – Tawpie

Смежные вопросы