Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codenameone 代号一个IOS CaptureAudio_Codenameone - Fatal编程技术网

Codenameone 代号一个IOS CaptureAudio

Codenameone 代号一个IOS CaptureAudio,codenameone,Codenameone,我从Capture类调用了captureAudio方法 它在IOS 7上打开一个空对话框,带有保存/取消按钮。 没有显示给用户的音频条可以理解录制 在android上也可以 由于iOS没有像Androids那样的捕获UI,所以这完全是用Java实现的。您可以很容易地编写自己的实现,例如,这是从Codename OneIOSImplementation.java文件中获得的,该文件正好可以: public void captureAudio(ActionListener response) {

我从Capture类调用了captureAudio方法

它在IOS 7上打开一个空对话框,带有保存/取消按钮。 没有显示给用户的音频条可以理解录制

在android上也可以


由于iOS没有像Androids那样的捕获UI,所以这完全是用Java实现的。您可以很容易地编写自己的实现,例如,这是从Codename One
IOSImplementation.java
文件中获得的,该文件正好可以:

public void captureAudio(ActionListener response) {
    String p = FileSystemStorage.getInstance().getAppHomePath();
    if(!p.endsWith("/")) {
        p += "/";
    }
    try {
        final Media media = MediaManager.createMediaRecorder(p + "cn1TempAudioFile", MediaManager.getAvailableRecordingMimeTypes()[0]);
        media.play();

        boolean b = Dialog.show("Recording", "", "Save", "Cancel");
        final Dialog d = new Dialog("Recording");

        media.pause();
        media.cleanup();
        d.dispose();
        if(b) {
            response.actionPerformed(new ActionEvent(p + "cn1TempAudioFile"));
        } else {
            FileSystemStorage.getInstance().delete(p + "cn1TempAudioFile");
            response.actionPerformed(null);
        }
    } catch(IOException err) {
        err.printStackTrace();
        response.actionPerformed(null);
    }
}

谢谢shai,你能添加一些事件,比如DataReceive来检测数据并与UI交互吗?我认为,移动框架在检测对象事件方面有很多限制。有很多事件,我不知道你在说什么。媒体类没有任何事件。捕获类没有任何事件。我之前创建了一个在线网络工作室,用于录制音频和视频并在时间轴上进行混合,在录制和播放期间,我对这些对象拥有完全的控制权。是的,media类旨在回答非常简单的用例,如media player和面向业务的应用程序要求。创建一个通用的“低级”媒体API更具挑战性,我们没有要求企业/公司甚至专业级用户这样做。