簡體   English   中英

Ionic如何創建mp3文件?

[英]Ionic how can I create an mp3 file?

我正在使用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文件進行錄制?

創建文件是服務器功能。 您將需要使用fs的節點服務器來創建文件。

在Ionic的網站上:

可以將Ionic視為前端UI框架,該框架可以處理您的應用所需的所有外觀和UI交互,以使其具有吸引力。 有點像“ Bootstrap for Native”,但支持多種常見的本機移動組件,精美的動畫和精美的設計。

Ionic可以使用Cordova插件,因為它是基於它構建的。

您可以使用media-capture插件來捕獲音頻,但是我發現這些記錄為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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM