2016-02-11 3 views
0

Я записываю звук с помощью плагина mediagap. После записи я не могу найти записанный звук.Phonegap: Не удалось найти записанный файл

Как найти записанный звук после записи?

Я использую следующий код:

index.html

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 
<title>Recorder</title> 

    <script type="text/javascript" charset="utf-8" src="cordova.js"> </script> 
    <script type="text/javascript" charset="utf-8"> 

    <script> 
    function startRecording() 
    { 
     var src = "FinalAudio.wav"; 
     myMedia = new Media(src, onSuccess, onError); 
     myMedia.startRecord(); 
     alert("Started recording"); 
    } 
    function onSuccess() { 
     console.log("Created Audio for Recording"); 
    } 
    function onError(error) { 
     alert('code: ' + error.code + '\n' + 
       'message: ' + error.message + '\n'); 
    } 
    function stopRecording() 
    { 
     myMedia.stopRecord(); 
     alert("Stopped recording"); 
    } 
    window.onload = function() 
    { 
     document.addEventListener("deviceready", onDeviceReady, false); 
    } 
    function onDeviceReady() 
    { 
     document.getElementById("btnStart").addEventListener('click', startRecording, false); 
     document.getElementById("btnStop").addEventListener('click', stopRecording, false); 
    } 
</script> 
</head> 
<body> 
<button id="btnStart">Start Recording</button> 
<button id="btnStop">Stop Recording</button> 
</body> 
</html> 

config.xml

<?xml version='1.0' encoding='utf-8'?> 
<widget id="com.domainurl.name" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0"> 
<name>New Recorder</name> 
<description> 
    Hello World sample application that responds to the deviceready event. 
</description> 
<author email="[email protected]" href="http://phonegap.com"> 
    PhoneGap Team 
</author> 

<gap:platform name="ios" /> 
<gap:platform name="android" /> 
<gap:platform name="winphone" /> 

<preference name="orientation" value="default" /> 
<preference name="fullscreen" value="true" /> 
    <preference name="permissions" value="none" /> 
<preference name="target-device" value="universal" /> 
<preference name="webviewbounce" value="true" /> 
<preference name="prerendered-icon" value="true" /> 
<preference name="stay-in-webview" value="false" /> 
<preference name="ios-statusbarstyle" value="black-opaque" /> 
<preference name="detect-data-types" value="true" /> 
<preference name="exit-on-suspend" value="false" /> 
<preference name="show-splash-screen-spinner" value="true" /> 
<preference name="auto-hide-splash-screen" value="true" /> 
<preference name="disable-cursor" value="false" /> 
<preference name="android-minSdkVersion" value="14" /> 
<preference name="android-installLocation" value="auto" /> 
<gap:plugin name="com.phonegap.plugins.barcodescanner" /> 
<gap:plugin name="org.apache.cordova.battery-status" /> 
<gap:plugin name="org.apache.cordova.camera" /> 
<gap:plugin name="org.apache.cordova.media-capture" /> 
<gap:plugin name="org.apache.cordova.console" /> 
<gap:plugin name="org.apache.cordova.contacts" /> 
<gap:plugin name="org.apache.cordova.device" /> 
<gap:plugin name="org.apache.cordova.device-motion" /> 
<gap:plugin name="org.apache.cordova.device-orientation" /> 
<gap:plugin name="org.apache.cordova.dialogs" /> 
<gap:plugin name="org.apache.cordova.file" /> 
<gap:plugin name="org.apache.cordova.file-transfer" /> 
<gap:plugin name="org.apache.cordova.geolocation" /> 
<gap:plugin name="org.apache.cordova.globalization" /> 
<gap:plugin name="org.apache.cordova.inappbrowser" /> 
<gap:plugin name="org.apache.cordova.media" /> 
<gap:plugin name="org.apache.cordova.network-information" /> 
<gap:plugin name="org.apache.cordova.splashscreen" /> 
<gap:plugin name="org.apache.cordova.vibration" /> 
<preference name="webviewbounce" value="false" /> 

<preference name="DisallowOverscroll" value="false" /> 

<preference name="disallowOverscroll" value="false" /> 

<preference name="exit-on-suspend" value="true" /> 

<access origin="*" subdomains="true" /> 

ответ

0

В документации говорится, что путь IOS заключается в следующем:

Files can be recorded and played back using the documents URI: 

var myMedia = new Media("documents://beer.mp3") 

В андроиде не ясно, вероятно, в/СМИ или папки/данные

+0

Но я работаю для android, поэтому мне нужен ответ для Android. – user2899728

0

@ user2899728

Это ни в/СМИ или/данных. Это зависит от того, как вы его создаете. Или если он уже находится на устройстве, где он хранится.

Адрес working example. В вашем случае «текущий каталог» - это тот же каталог, в котором находится ваш index.html, или корневой каталог .

ПРИМЕЧАНИЕ: Если вы используете CLI, то вы не с помощью PhoneGap Построить. В этом случае ваш config.xml - это один каталог под вашим index.html, но ваши аудиофайлы по-прежнему находятся в одних и тех же относительных каталогах.

Наконец, если вы не с помощью PhoneGap построить, пожалуйста, так сказать.

Вот рабочий код (больше комментариев в источнике). - Best of Luck

function onDeviceReady() { 
    var audioFile = ""; 
    if (device.platform === "iOS") { 
     // iOS picks it up fom the current directory 
     audioFile = "ice_cream_truck.wav"; 
    } else if (device.platform == 'Android') { 
     audioFile = "/android_asset/www/fanfare3.ogg"; 
    } 
    // Don't do much with this right now. Just play it. 
    my_media = new Media(audioFile, onSuccess, onError); 
    // The 'numberOfLoops' is iOS only. 
    my_media.play({ numberOfLoops: 99 }); 
} 
Смежные вопросы