【问题标题】:how to record multiple sounds in musical application android如何在音乐应用程序android中录制多个声音
【发布时间】:2014-04-25 13:01:15
【问题描述】:

我正在为安卓开发一个音乐钢琴应用程序,在这个应用程序中我想记录用户通过点击钢琴按钮演奏的声音。我正在使用 soundpool 播放钢琴声音。现在用于录制android给了我们两个api的MediaRecorder和AudioRecorder。但对于两者,我们都必须设置 MediaRecorder.AudioSource。我不想从麦克风录制声音,因为可以包含用户声音,并且录制时更重要的音质下降。然后我尝试读取在单击钢琴应用程序时播放的资源文件的字节。并且当用户一次又一次地单击时,字节将在全局字节数组中一起出现。但是当我播放全局字节数组时,它只播放一个资源文件并且只播放一次。 更重要的是我是 android 开发的新手。请指导我。

【问题讨论】:

    标签: java android audio recording


    【解决方案1】:

    虽然我没有找到我的问题的答案,但现在我正在使用技术来记录我想与大家分享的方面。当您尝试保存应用程序在运行时创建的音乐时,我尝试使用的上述功能是完全错误的选项。现在对于我的第一个版本,我只是将钢琴按钮的点击和系统时间保存在一个数组中。现在,当我播放该点击时,它将播放与用户尝试录制的声音相同的声音。我将这些笔记保存在数据库中以供用户进一步重用。尽管这不是解决方案,因为这些笔记将仅在我们的应用程序中播放,但这是我们可以添加到我们的应用程序中的好功能。当我解决正确的解决方案时,我会与大家分享

    【讨论】:

    • 您的解决方案在我看来就像存储笔记 ID(或频率)。像跟踪器(Amiga ProTracker、PC FastTracker 或 ModPlugTracker)或 MIDI 录音机这样的方式。也许一个 MIDI 序列记录器是一个选择,因为 MIDI 是一个标准,并且文件也可以由软件合成器播放。
    • 如果我没记错的话,mogplug 跟踪器正在创建声音,我们可以录制这些声音音符并将此声音导出为 *.raw 或 *.wav 或 *.flac。是的,实际上我也希望将用户点击产生的相同概念声音保存在文件中,我可以将此文件导出为 *.mp3 或 *.wav,这些文件可以在 Android 设备的默认媒体播放器中使用。但我不知道从哪里开始
    • 是的,它将声音存储为文件的一部分(如果我没记错的话,将名称存储在页眉中,将字节内容存储在页脚中)。将文件(mp3 或图像或其他任何内容)存储到文本文件中很容易:就像 mht 文件格式(这是我的灵感)所做的那样:将其存储为 Base64 编码字符串) - 我在 VB.NET 中使用了这种技术来存储封面艺术+专辑信息。所以,它有效。
    • 我面临的问题是如何录制同时播放的多个声音或 mogplug 如何存储音符。我坚持这一点........但是,当声音播放时,我尝试将声音文件的字节保存在一个文件中。但该技术不起作用,因为所有字节都保存在主记录文件中。
    • 现在我想我必须研究合成器及其工作,然后在 android 中实现它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多