草庐IT

Android - 录制从设备播放到耳机插孔的音频

我正在寻找一种方法来将设备麦克风录制的音频与设备正在播放的声音结合起来。现在您可能会说这是一项简单的任务,麦克风可以记录两者,但事实并非如此,因为设备正在播放的音频是通过耳机插孔而不是扬声器播放的。有什么办法吗? 最佳答案 我不明白你想要什么。如果您正在谈论录制输入源,Android操作系统会为您提供各种源,例如MIC、DOWNLINK/耳机扬声器CAMCORDER等...源代码来自androiddevelopersiteprivatevoidstartRecording(){mRecorder=newMediaRecorder()

android - 我想阻止我的音乐播放器应用程序在每次启动时扫描目录中的音频文件。我怎样才能做到这一点?

我想阻止我的音乐播放器应用在每次启动时扫描目录中的音频文件。我该怎么做?我一直在使用下面的代码来扫描音频文件。publicvoidgetSongList(){ContentResolvercontentResolver=getContentResolver();UrimusicUri=android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;CursormusicCursor=contentResolver.query(musicUri,null,null,null,null);if(musicCursor!=null&&

android - 在 Android 上访问实时麦克风数据的最低级别

我刚刚编写了一些使用音频单元以硬件采样率从麦克风获取单声道浮点流的iOS代码。它最终变成了很多代码!首先,我必须设置一个AudioSession,指定所需的48kHz采样率。然后我必须开始session并检查实际返回的采样率。这将是实际的硬件采样率。然后我必须设置一个音频单元,实现渲染回调。但我至少可以使用硬件采样率(因此我可以确定没有通过软件重新采样丢失任何信息)。而且我还能够设置尽可能小的缓冲区大小,从而实现最小的延迟。android上的类比流程是什么?我怎样才能接触到电线?PS还没有人提到它,但它似乎可以在JNI级别工作。 最佳答案

安卓音频搜索栏

我正在尝试创建一个播放单个音频文件的东西,并且可以使用进度/搜索栏暂停和操作。我想让一个图像占据大部分屏幕,然后在左下方有一个播放暂停按钮,在按钮右侧有一个栏。一切都适用于未链接到音频的搜索栏。我的进度条编码可能一团糟,因为如果从我在Internet上看到的几个代码中提取它,但它们大多让我感到困惑,因为它们用于音乐播放器应用程序,而不是用于播放单个音频文件。有人可以帮我处理进度条吗?任何其他改进我的编程的技巧也会很棒。(我对android和编程很陌生只是为了警告你)这是我的Java:MediaPlayermediaPlayer;ButtonbuttonPlayPause;ImageVi

android - 为什么 tinyALSA 优于 libasound?

在最新的Android版本中,AOSP版本通常带有tinyALSA和tinyCompress。在thisquestion,Simon提到所有Nexus设备都应支持tinyALSA。我的问题是,为什么android没有集成libasound,与tinyALSA相比,它具有音频子系统所需的所有功能?是否主要是由于source.android.com中指出的许可问题?网站? 最佳答案 我不能代表Android开发人员发言,但如果非要我猜的话,那是因为ALSA有一个非常古老的API,由于向后兼容的原因而没有改变。如果您选择的音频系统不关心向

android - 如何确定 Android 上的音频功能?

我正在试验Android的音频录制和播放。有没有办法在我的设备上枚举可用的音频参数?现在,当我传递硬件(或模拟器)不喜欢的参数组合时,我只会收到错误消息。所以我不得不“猜测”:intbufferSize;intsampleRate;//doestheaudiohardwaredo44kHz?sampleRate=44100;bufferSize=AudioRecord.getMinBufferSize(sampleRate,AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT);if(bufferSi

android - 同时播放两种声音

我正在尝试在android中同时播放两种声音。我创建了两个MediaPlayer并正在使用下面的代码。它们目前正在一个接一个地播放。或者不完全是一个接一个地播放,但有点延迟。privatevoidplaySound(){if(mp1!=null){mp1.release();}if(mp2!=null){mp2.release();}mp1=MediaPlayer.create(this,soundArray[0]);mp2=MediaPlayer.create(this,soundArray[3]);mp1.start();mp2.start();}谢谢

Android:如何检测用户何时停止对着麦克风说话

我有一个Android应用程序,它会在应用程序启动时从麦克风开始录音。在我当前的版本中,用户必须按下停止按钮才能停止录制。我如何检测到用户已停止说话并使用它来触发录音机停止?类似于Android中语音识别功能的实现。用户停止说话,然后语音被翻译。我见过其他应用程序可以做到这一点,例如会说话的汤姆猫类型的应用程序。作为旁注,我还想展示某种类型的视觉效果,表明麦克风正在接收声音。显示传入声级的东西。感谢任何帮助。 最佳答案 一种方法是在录音时使用线程,在录音的字节上使用语音功率分析过程,有一个示例代码供您引用:http://musicg

Android AudioTrack 播放 .wav 文件,只得到白噪声

当我使用以下代码播放文件时:privatevoidPlayAudioFileViaAudioTrack(intResId)throwsIOException{intintSize=android.media.AudioTrack.getMinBufferSize(11025,AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT);AudioTrackat=newAudioTrack(AudioManager.STREAM_MUSIC,11025,AudioFormat.CHANNEL_CONFIGUR

Windows(C#)音频开发-Windows Core Audio(WASAPI)

本文的例子使用NAudio.CoreAudioApi实现,全部为C#代码以下仅为个人理解,不一定都对,勿信~阅读这个文档,最好具备C++知识,因为会用到Marshal命名空间进行指针操作一、关于WindowsCoreAudioWindowsCoreAudioAPI是一种非常底层的音频API,上层应用为DirectSound或者WaveXXX接口等,WASAPI是其中的一部分。WindowsCoreAudioAPI构成MultimediaDeviceAPI(MMDevice):表示系统中的音频设备节点(AudioDeviceEndpoint),Mmdeviceapi.hWindowsAudioS