在Android Studio中添加mp3音频文件

1、在res文件夹下创建raw文件夹
在这里插入图片描述

2、将mp3文件粘贴到raw中即可
在这里插入图片描述

注意事项:

在android studio开发环境中,需要将目录结构切换到android模式下
在这里插入图片描述
如果是poject模式会怎样?
我遇到过在project模式下创建raw文件夹,然后将mp3粘贴进去,但是在主函数中找不到该文件,具体表现为在res文件夹下已经有raw文件夹并且raw文件夹下已经有了MP3音频文件,但是在主函数中调用R.raw.audio,无法找到audio,强行写上文件名,会报错,但是运行程序还是能运行

我的解决方法就是切换到android模式重新创建raw文件夹

要实现输入音频文件输出音频内容,你需要用到Android的AudioRecord和AudioTrack类。这里提供一个简单的实现过程: 1. 首先,你需要在AndroidManifest.xml文件添加录音权限: ```xml <uses-permission android:name="android.permission.RECORD_AUDIO" /> ``` 2. 在你的Activity创建AudioRecord实例,设置音频参数,开始录音: ```java int audioSource = MediaRecorder.AudioSource.MIC; int sampleRate = 44100; int channelConfig = AudioFormat.CHANNEL_IN_MONO; int audioFormat = AudioFormat.ENCODING_PCM_16BIT; int bufferSize = AudioRecord.getMinBufferSize(sampleRate, channelConfig, audioFormat); AudioRecord audioRecord = new AudioRecord(audioSource, sampleRate, channelConfig, audioFormat, bufferSize); byte[] buffer = new byte[bufferSize]; audioRecord.startRecording(); ``` 3. 接下来,你需要创建一个输出文件,将录制的音频数据写入到该文件: ```java File outputFile = new File(Environment.getExternalStorageDirectory(), "output.pcm"); FileOutputStream outputStream = new FileOutputStream(outputFile); while (true) { int read = audioRecord.read(buffer, 0, bufferSize); outputStream.write(buffer, 0, read); } ``` 4. 最后,你可以使用AudioTrack类将输出文件音频数据播放出来: ```java int streamType = AudioManager.STREAM_MUSIC; int mode = AudioTrack.MODE_STREAM; int sampleRate = 44100; int channelConfig = AudioFormat.CHANNEL_OUT_MONO; int audioFormat = AudioFormat.ENCODING_PCM_16BIT; int bufferSize = AudioTrack.getMinBufferSize(sampleRate, channelConfig, audioFormat); AudioTrack audioTrack = new AudioTrack(streamType, sampleRate, channelConfig, audioFormat, bufferSize, mode); audioTrack.play(); File inputFile = new File(Environment.getExternalStorageDirectory(), "output.pcm"); FileInputStream inputStream = new FileInputStream(inputFile); byte[] buffer = new byte[bufferSize]; while (inputStream.read(buffer) != -1) { audioTrack.write(buffer, 0, buffer.length); } ``` 注意:这只是一个简单的实现过程,实际应用你需要处理更多的异常情况和错误处理,以及对音频数据的解码和编码等。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值