我的目标是暂停录制文件。我在Android开发者网站上看到了它的但Media Recorder并没有暂停选项。
Java支持以编程方式合并两个音频文件,但在android中不起作用。
从Java中加入两个WAV文件?
而且我还使用了默认设备录音机应用程序,该应用程序适用于所有设备,但在三星中,很少有设备没有返回录制路径。
Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
startActivityForResult(intent,REQUESTCODE_RECORDING);
任何一个帮助语音录音暂停功能。
如果还有这个问题,你可以在这里参考我的回答。对于API级别
对于API级别
在 gradle 文件中添加以下依赖项:
compile 'com.googlecode.mp4parser:isoparser:1.0.2'
解决方案是当用户暂停时停止记录器,并在恢复时重新开始,这在stackoverflow的许多其他回答中已经提到。将生成的所有音频/视频文件存储在一个数组中,并使用以下方法合并所有媒体文件。该示例取自mp4parser库,并根据我的需要稍加修改。
public static boolean mergeMediaFiles(boolean isAudio, String sourceFiles[], String targetFile) {
try {
String mediaKey = isAudio ? "soun" : "vide";
List<Movie> listMovies = new ArrayList<>();
for (String filename : sourceFiles) {
listMovies.add(MovieCreator.build(filename));
}
List<Track> listTracks = new LinkedList<>();
for (Movie movie : listMovies) {
for (Track track : movie.getTracks()) {
if (track.getHandler().equals(mediaKey)) {
listTracks.add(track);
}
}
}
Movie outputMovie = new Movie();
if (!listTracks.isEmpty()) {
outputMovie.addTrack(new AppendTrack(listTracks.toArray(new Track[listTracks.size()])));
}
Container container = new DefaultMp4Builder().build(outputMovie);
FileChannel fileChannel = new RandomAccessFile(String.format(targetFile), "rw").getChannel();
container.writeContainer(fileChannel);
fileChannel.close();
return true;
}
catch (IOException e) {
Log.e(LOG_TAG, "Error merging media files. exception: "+e.getMessage());
return false;
}
}
将标志isAudio用作音频文件的true和视频文件的false。
在我的一个项目中,我有这样一个需求,我们所做的就像制作一个原始文件,用于在开始记录时使用< code>AudioRecord保存记录的数据,对于每个简历,我们将数据附加到同一个文件中
喜欢
FileOutputStream fos= new FileOutputStream(filename, true);
此处的文件名是原始文件的名称,并将新的录制数据附加到其中。
当用户停止录制时,我们会将整个原始文件转换为.wav(或其他)格式。对不起,我不能发布整个代码。希望这能给你一个工作方向。
http://developer.android.com/reference/android/media/MediaRecorder.html
媒体记录器没有暂停和恢复方法。您需要改用停止和启动方法。
我正在构建具有恢复/暂停功能的m4a录制的Android应用程序。可能吗?如果是,请告诉我解决方案。 谢谢
我试图实现一个播放/暂停按钮,用于连接到ARKit场景中节点的位置音频。我希望用户能够暂停音频,然后在以后的时间从暂停点恢复它。因此不好,因为这会在重新连接音频时将其重置到起始位置。 我能找到的唯一与SCNAudioPlayers相关联的暂停方法深藏在下面: 有人知道这能不能做到吗? 提前谢了。
问题内容: 在Spring Framework手册中,它们声明对于PROPAGATION_REQUIRES_NEW,当前事务将被挂起。 那“暂停交易”是什么?超时计时器停止指望当前事务吗?这种暂停的实际含义是什么? 谢谢, 问题答案: 这并不意味着什么特别的事情,挂起的事务只是暂时不用于插入,更新,提交或回滚的事务,因为由于指定的传播属性应创建一个新事务,并且只能激活一个事务同时。 基本上有两种事
我们有一个Spring应用程序使用JavaKCL客户端从Kinesis流中消费记录。有没有办法让KCL“暂停”以停止处理记录,然后安全地重新启动它?对此推荐的方法是什么?
抱歉我的问题,我被卡住了。我是lib gdx开发游戏的新手,不要严格评判我。我有我的游戏活动: } 我有两个屏幕: 还有我有暂停按钮的游戏屏幕: 还有我的主要问题--
我相信答案是否定的,但是Twilio提供暂停/恢复录音的能力吗?用例是记录一个呼叫,但在收集敏感信息时暂停记录。从REST文档来看,它似乎不是一个受支持的功能。我想有人可能已经为这个要求找到了一些选择。