Android Phonegap:找不到录制的文件

Android Phonegap:找不到录制的文件,android,cordova,phonegap-plugins,phonegap-build,Android,Cordova,Phonegap Plugins,Phonegap Build,我正在使用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-scalab

我正在使用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>
<?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="support@phonegap.com" 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" />

录音机
函数startRecording()
{
var src=“FinalAudio.wav”;
myMedia=新媒体(src、onSuccess、onError);
myMedia.startRecord();
警报(“开始记录”);
}
函数onSuccess(){
console.log(“为录制而创建的音频”);
}
函数onError(错误){
警报('code:'+error.code+'\n'+
'消息:'+error.message+'\n');
}
函数stopRecording()
{
myMedia.stopRecord();
警报(“停止记录”);
}
window.onload=函数()
{
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
}
函数ondevicerady()
{
document.getElementById(“btnStart”).addEventListener('click',startRecording,false);
document.getElementById(“btnStop”).addEventListener('click',stopRecording,false);
}
开始录音
停止录音
config.xml

<!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>
<?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="support@phonegap.com" 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" />

新录音机
Hello World示例应用程序,用于响应deviceready事件。
电话差距小组

在文档中,说明IOS路径如下:

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

var myMedia = new Media("documents://beer.mp3")
在android中不清楚,可能在/media或/data文件夹中

它不在/媒体或/数据中。这取决于你如何创造它。或者如果它已经在存储它的设备上

这是一本书。在您的情况下,“当前目录”与index.html所在的目录或根目录相同

注意:如果您使用的是CLI,那么您是而不是使用Phonegap构建。在这种情况下,config.xml是index.html下面的一个目录,但音频文件仍然位于相同的相对目录中

最后,如果你不是使用Phonegap构建,请说出来

以下是工作代码(源代码中有更多注释)。——祝你好运

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 });
}

但我为安卓工作,所以我需要安卓的答案。