【发布时间】:2016-11-07 12:35:47
【问题描述】:
我正在使用 Codename One 来记录麦克风输入并将其回放到连接的耳机。
首先,如果我将麦克风中的音频录制到文件中,并在录制结束时播放,它会按预期工作。这就是为什么基于这个2014 question我实现了2个周期性任务(timer和timertask),只要2个文件:一个用于录制,一个用于播放。我将周期性任务周期设置为 100 毫秒到几秒之间的值,但结果在 Android 设备上很糟糕。确实有随机的缝隙,一点都不流畅,也不好理解。
我假设每个周期写入文件的开销太高,因此会导致这种行为。所以using proper high-level Codename One methods 似乎并不可行。
然后在 2014 年的同一个问题中,请求者建议从录制媒体创建一个输入流,并将其用作播放媒体的输入。然而,MediaManager.createMediaRecorderStream() 方法似乎不再可用。我尝试使用用于通过fs.openInputStream(recFilepath) 将用于播放媒体的音频录制为 InputStream 的文件,但它没有在设备上输出任何声音或错误。
所以我的问题是我是否可以使用纯代号一实现我的目标,还是我必须使用本机界面?此外,Shai(在 2014 年上述问题中)写道,MediaManager.createMediaRecorderStream() 的第二种方法可能适用于某些平台:其中是 android 平台,还是仅针对 iOS 平台?
任何帮助表示感谢并抱歉没有发布代码,因为我在尝试似乎不起作用时立即清除它。所以我真的搞砸了我的代码,现在它没有做我最初的目标。
干杯,
【问题讨论】:
标签: mobile codenameone audio-recording