Javascript 我如何创建mp3文件?

Javascript 我如何创建mp3文件?,javascript,html,angularjs,ionic,Javascript,Html,Angularjs,Ionic,我正在用Ionic框架编写一个web应用程序,我正在尝试管理一个录制和播放声音的机制。我将以下代码段用作服务: .factory('MediaSrv', function ($q, $ionicPlatform, $window) { var service = { loadMedia: loadMedia, getStatusMessage: getStatusMessage, getErrorMessage: getErrorMessa

我正在用
Ionic
框架编写一个web应用程序,我正在尝试管理一个录制和播放声音的机制。我将以下代码段用作服务:

.factory('MediaSrv', function ($q, $ionicPlatform, $window) {
    var service = {
        loadMedia: loadMedia,
        getStatusMessage: getStatusMessage,
        getErrorMessage: getErrorMessage
    };

    function loadMedia (src, onError, onStatus, onStop) {
        var defer = $q.defer();

        $ionicPlatform.ready(function () {
            var mediaSuccess = function () {
                if (onStop) { onStop(); }
            };

            var mediaError = function (err) {
                _logError(src, err);
                if (onError) { onError(err); }
            };

            var mediaStatus = function (status) {
                if (onStatus) { onStatus(status); }
            };

            if ($ionicPlatform.is('android')) {
                src = '/android_asset/www/' + src;
            }

            defer.resolve(new $window.Media(src, mediaSuccess, mediaError, mediaStatus));
        });

        return defer.promise;
    }

    ...

    return service;
});

我可以播放现有的
.mp3
文件,但无法录制不存在的文件。我想如果找不到文件,它会自己创建文件。如何创建一个空的
.mp3
文件进行录制?

创建文件是一项服务器功能。您需要使用节点服务器来创建文件

从爱奥尼亚的网站:

可以将Ionic视为前端UI框架,它可以处理应用程序需要的所有外观和UI交互,从而引人注目。有点像“本机引导”,但支持广泛的通用本机移动组件、流畅的动画和漂亮的设计


爱奥尼亚可以使用Cordova插件,因为它是建立在它之上的

您可以使用媒体捕获插件来捕获音频,但是我发现这些记录是AMR文件

从[文件][1]中:

// capture callback
var captureSuccess = function(mediaFiles) {
    var i, path, len;
    for (i = 0, len = mediaFiles.length; i < len; i += 1) {
        path = mediaFiles[i].fullPath;
        // do something interesting with the file
    }
};

// capture error callback
var captureError = function(error) {
    navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};

// start audio capture
navigator.device.capture.captureAudio(captureSuccess, captureError, {limit:2});


  [1]: http://docs.phonegap.com/en/edge/cordova_media_capture_capture.md.html
//捕获回调
var capturesccess=函数(媒体文件){
变量i,路径,len;
对于(i=0,len=mediaFiles.length;i