[英]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.