Articles of audio

需要一个简单的录音例子

我需要在Android中使用AudioRecorder进行简单的录音和播放示例。 我尝试使用MediaRecorder,它工作正常。

将图像合并到音频文件中并以编程方式在android中制作video文件

我阅读了ffmpeg库的教程,将图像合并到音频文件中。 这看起来非常复杂,并且环境值的错误为null。 我研究了很多,但没有find任何解决方案。 Android中是否有任何方法可以合并图像和音频文件来制作video?

Android AudioRecord – 第二次不会初始化

Hej,我目前正试图让AudioRecord工作。 因为我需要一个更大的项目。 但它似乎搞得很多。 我一直在尝试很多东西,所以当我追踪这个bug时我又回到了基础。 我正在使用我的三星Galaxy S作为我的调试设备。 我的问题是,第一次重启我的设备后,我可以初始化我创建的AudioRecord对象没有问题。 但是第二次运行它时,它不会初始化AudioRecord对象。 我试过几个频率,fyi。 这是我的代码: package android.audiorecordtest; import android.app.Activity; import android.media.AudioFormat; import android.media.AudioRecord; import android.media.MediaRecorder; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class AudioRecordTest extends Activity { int frequency; AudioRecord audRec; TextView txtVw; /** Called when the activity is first created. */ @Override public void onCreate(Bundle […]

接收RTP流 – AudioStream,AudioGroup

我想听一个RTP音频流,但声音中没有什么差距 – 不会继续。 可能是什么解决方案? 我错过了Receiver(android)端或Streamer(ffmpeg)端的东西吗? 我正在使用ffmpeg来传输RTP音频, ffmpeg -f lavfi -i aevalsrc=”sin(400*2*PI*t)” -ar 8000 -vcodec pcm_u8 -f rtp rtp://192.168.0.15:41954 (port changes.) 这是我的相关android代码: AudioStream audioStream; AudioGroup audioGroup; @Override public void onStart() { super.onStart(); StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitNetwork().build(); StrictMode.setThreadPolicy(policy); AudioManager audio = (AudioManager)getSystemService(AUDIO_SERVICE); audio.setMode(AudioManager.MODE_IN_COMMUNICATION); audioGroup = new AudioGroup(); audioGroup.setMode(AudioGroup.MODE_ECHO_SUPPRESSION); InetAddress inetAddress; try { inetAddress = InetAddress.getByName(“192.168.0.15”); audioStream […]

如何知道MediaRecorder是否处于运行状态?

我写了一个代码来logging使用MediaRecorder的通话对话audio。 如何知道MediaRecorder是否处于运行状态,停止录制。 喜欢 boolean running; MediaRecorder mr; //what should i assign to running? if(running){ mr.stop() } 上面的代码只是一个例子..如果你不明白我的问题,请告诉我..我会用实际的代码清楚地解释.. 我想知道的是“MediaRecorder在哪个状态?” – >录制/发布/准备/初始/等。

Android中的audio编辑

我正在寻找一些audio编辑库,可以帮助将两个audio文件混合成一个audio文件。 我不是说连接文件一个接一个。 我想在第一个文件的随机查找时间的中间混合第二个audio文件如下。 轨道T1:1111111111轨道T2:2222 预计产出:11112222111111 我想为Android应用程序实现这一点。

解码audio文件并重新编码为所需的PCM格式:44,100 kHz,2个通道,16位

我想将audio文件解码为原始PCM数据,将其stream式传输到本地networking中的播放设备。 我使用了API级别为16的新MediaExtractor和MediaCodec类。 该设备要求PCM数据在44100kHz,具有2个通道和16位样本大小 。 只要input文件大致符合这些要求,这工作正常。 但是,无论何时我正在解码一个MP3文件,例如,使用32,000 kHz的采样率,也许只有一个通道,那么我不会从MediaCodec类获得所需的输出。 看来我不能指定MediaCodec类的输出格式 。 所以我决定实例化另一个MediaCodec对象,将原始数据重新编码成我想要的格式。 根据Android 4.1 支持的媒体格式列表,Android支持编码PCM / Wave。 但是, 我无法创build一个MediaCodec对象,编码PCM / Wave 。 我试着将各种MIMEtypes传递给MediaCodec.createEncoderByType(type); 但是我总是以IOExceptionexception失败: java.io.IOException: Failed to allocate component instance at android.media.MediaCodec.native_setup(Native Method) at android.media.MediaCodec.<init>(MediaCodec.java:210) at android.media.MediaCodec.createEncoderByType(MediaCodec.java:194) [..] 有没有人能够成功地创build一个MediaCodec实例,编码为PCM / Wave,并可以提供一个工作的例子?

如何使用MediaPlayer和MediaController为Android实现audio播放器?

我想创build一个Android应用程序,这是一个互联网广播电台的客户端。 我希望它看起来本机Android? 但即时通讯与Android API的逻辑和文件混淆。 我得到的是我需要MediaPlayer和MediaController类。 我是对的,有没有Android的audio播放器的好例子? 特别是,我非常感兴趣如何一起使用MediaPlayer和MediaController类。 UPD: 最后我得到了代码,这正是我想要的: Intent i = new Intent(Intent.ACTION_VIEW); Uri u = Uri.parse(%file_uri%)); i.setData(u); startActivity(i);

我想在android中检查语音的响度

我正在开发一个应用程序,我必须检测声音的响度。 意味着一些手机上的大喊,它会显示在屏幕上的响度水平。 让我知道任何合适的API。 我可以在android中使用哪个API。 提前致谢。 普拉

不断检查Android服务中的音量变化

我写了这段代码,显然是有缺陷的。 我如何去创build一个服务,将不断检查音量的变化? 关键听众不能在服务中使用,请不要使用音量键监听器发表答案。 我的代码是错误的,因为我给了while循环的虚拟条件。 什么是我的服务检查音量变化,而不是崩溃的条件? 它不能是isScreenOn()因为在听音乐和屏幕closures时音量可以改变。 码 AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE); int currentVolume = audio.getStreamVolume(AudioManager.STREAM_RING); int newVolume=0; while(1==1) { newVolume = audio.getStreamVolume(AudioManager.STREAM_RING); if(currentVolume!=newVolume) { Toast.makeText(this, "Volume change detected!", Toast.LENGTH_LONG).show(); } }