Superpowered SDK。实现SuperpoweredRecorder.h和设置录音路径
我已经成功将超级能力的SDK Crossexample项目导入了Android Studio,并在Samsung Galaxy S3和Emulator上对其进行了测试.现在,我正在实现一个记录选项,以使用superpoperpoperedRecorder.h录制应用程序播放的音频.我将需要如何正确设置*tempPath和*destinationPath变量以成功保存录制. 该项目构建还可以,但是当我尝试在Galaxy S3或模拟器上运行该应用程序时,我会收到以下错误消息: 19565-19565/com.superpowered.crossexample A/libc﹕ Fatal signal 11 (SIGSEGV) at 0x006f0070 (code=1), thread 19565 (ed.crossexample) 此错误是在添加 *temppath和 *destinatePath指针后发生的,因此我相信成功设置录制路径后,此错误将消失. 链接到superpowere
0 2024-02-17
编程技术问答社区
安卓KitKat启动屏幕从应用程序记录
我正在尝试从应用程序启动ScreenRecord,并遇到一些问题. 我已经阅读了很多有关执行命令的信息,但似乎没有任何帮助. 问题是,当我启动ScreenRecord文件时,它将使用size 3014字节 创建 (content: [...]ftypisom[...]isom3gp4[...]),并且文件中没有记录任何内容. 我该如何修复? 解决方案 ScreenRecord命令旨在从ADB Shell运行.具体而言,它需要成为AID_Graphics组的成员才能运作.普通的Android应用没有此特权. 一些更详细的信息在这里/p>
4 2024-02-12
编程技术问答社区
在不降低音频质量的情况下将短阵列从音频记录转换为字节数组?
我正在使用Android音频记录类录制音频.录制为PCM 16bit,因此(我听说)最好让音频记录将数据写入一个简短的数组.但是,对于我要做的事情,我需要将短阵列转换为字节数组.我尝试了几种方法,但所有方法都以不同的方式降低了音频的质量. 我尝试了: byte[] bytes2 = new byte[shortsA.length * 2]; ByteBuffer.wrap(bytes2).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer().put(shortsA); 但是结果非常安静和波动. 我尝试的第二种方法是: byte[] MyShortToByte(short[] buffer) { int N = buffer.length; float f[] = new float[N]; float min = 0.0f; float max = 0.0f; for (int i=0; i
2 2024-02-12
编程技术问答社区
如何在Android中选择物理麦克风和音频录制路径
我正在开发一个应用程序,该应用记录了设备麦克风的音频输入.我们想记录未加工/原始音频(即没有效果像噪声抑制或自动增益控制一样),还为用户提供了指定用于录制的麦克风(例如顶部,前,前,背部等)的选项. 根据也就是说,选择要使用的物理麦克风的正确方法是什么? 在最近的API级别中,有以下方法似乎可以选择特定的麦克风: android 6+: audiomanager.getDevices.getDevices()可用麦克风的列表,但似乎不可能说出该方法返回的麦克风的位置(前,背面等). android 11+: 有人知道如何实现我的目标,即获得未加工的音频输入,同时还指定了用于使用的物理麦克风? 解决方案 麦克风选择是使用Mediarecorder.audiosource.mic(front)/Mediarecorder.audiosource.camcorder(back)/mediarecorder.audiosource.default(默认). voi
0 2024-02-07
编程技术问答社区
安卓记录通话参数
我正在开发DTMF解码器.我需要的是记录语音调用,然后提取淡核范围.一切正常,但是在设置音频源 时,有一些Android版本,我会遇到以下错误 "无效的捕获预设3用于音频属性" 为了获得正确的参数,我已经开发了一种算法: private static final int[] FREQUENCY = {8000, 11025, 16000, 22050, 44100}; // 44100 is guaranteed to work in all devices private static final int[] CHANNEL_CONFIGURATION = {AudioFormat.CHANNEL_IN_MONO, AudioFormat.CHANNEL_IN_STEREO}; private static final int[] AUDIO_ENCODING =
2 2024-02-07
编程技术问答社区
当通过音频采样的数据数量超过AudioRecord构造函数中设置的 "bufferSizeInBytes "时,会发生什么?
public AudioRecord (int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes) 这是AudioRecord的公共构造函数,您可以找到称为bufferSizeInBytes的最后一个参数,它的意思是"在记录期间将音频数据写入的缓冲区的总大小(以字节为单位)."在Android文档中. 我认为这是存储从音频硬件采样的所有数据的缓冲区.我有一个问题: 如果通过音频采样的数据数超过 " BufferSizeInbytes",将会发生什么,停止采样或否则? 我进行了一些测试,发现即使示例数据的数量超过了,也没有发生任何事情(它一直记录).为什么? So can anyone tell me what's the meaning about "bufferSizeInBytes" 解决方案 是在录制过程中被缓冲的
0 2024-02-06
编程技术问答社区
安卓:如何配置 "tinymix",用 "tinycap "录制系统音频
在Android中,目前不可能使用Android-SDK记录System-Adio. 因此,我和Tinyalsa一起玩了一点(自Android 4以来),希望我可以重新安排音频,以便我可以记录下来. 当我在设备上调用" tinymix"时,我会得到以下配置: ctl type num name value 0 ENUM 1 DL1 Equalizer Flat response 1 ENUM 1 DL2 Left Equalizer 450Hz High-pass 2 ENUM 1 DL2 Right Equalizer 450Hz High-pass
2 2024-02-04
编程技术问答社区
Phonegap媒体API-录制和播放音频-Android
我希望录制一些音频,然后有能力播放它.对我来说,重要的是能够自定义记录接口. 在录制后的下面示例中,我的持续时间为-1,没有播放音频. 步骤1. 添加cordova plugin add org.apache.cordova.media 步骤2.我的代码 注意SRC是文档要求的" AMR". Android设备以自适应多速率格式记录音频.这 指定的文件应以.AMR扩展为结尾. 但是," myrecording.amr"在我的文件结构中不存在,因为我希望它将被创建. javascript var data = { rec: "" }; $scope.record = function(){ console.log('record'); var src = "myrecording.amr"; data.rec = new Media(src, function() { console.log("
2 2024-02-03
编程技术问答社区
android AudioRecord从MIC读取的振幅值
我试图从麦克风中记录声音并绘制现场图.我能够记录并绘制图形.问题在于使用以下代码记录的值不准确...例如,当根本没有声音时,我得到的图像是我得到的.我已经看到了使用FFT的示例,但是我敢肯定,当我试图绘制时域图时,这是否对我有任何帮助,而我没有目的将其转换为频域(目前).其他人则使用平均功率,这可能会有所帮助,但我不确定. 感谢您的任何帮助. bufferSize = AudioRecord.getMinBufferSize(RECORDER_SAMPLERATE,RECORDER_CHANNELS,RECORDER_AUDIO_ENCODING); recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, RECORDER_SAMPLERATE, RECORDER_CHANNELS,RECORDER_AUDIO_ENCODING, bufferSize); short da
2 2024-02-03
编程技术问答社区
在安卓系统中记录声音并读取振幅
我正在尝试制作一个记录声音的应用程序,然后从录制的声音中读取最大幅度.这是我到目前为止所拥有的,但是我的应用程序崩溃了,我不知道为什么. 这是我的第二个活动,在按下"记录"按钮后,我从第一个活动开始打电话.该应用在我的仿真器和手机上崩溃. package radu.soundSampler; import java.io.IOException; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; import android.media.MediaRecorder; public class DisplayMessageActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState)
0 2024-01-31
编程技术问答社区
如何调整安卓系统中的麦克风音量?
我想记录声音,但是麦克风(麦克风)输入声音太大了,我想调整麦克风的音量,有人会帮助我吗?以下是主要代码: private int audioSource = MediaRecorder.AudioSource.MIC; private static int sampleRateInHz = 8000; private static int channelConfig = AudioFormat.CHANNEL_CONFIGURATION_MONO; private static int audioFormat = AudioFormat.ENCODING_PCM_16BIT; audioRecord = new AudioRecord(audioSource, sampleRateInHz,channelConfig, audioFormat, bufferSizeInBytes); audioManager.setSpeakerphoneOn(false); 解决方案
0 2024-01-31
编程技术问答社区
安卓。如果有任何声音发生,监听器将记录声音
在我的应用程序中,我要实现如果发生任何声音,记录声音的方法. 类似类似的应用程序:说话/p> 那我该怎么办? 是否有任何演示来聆听声音并在任何声音发生时记录它? 解决方案 在您的应用程序中尝试此代码... private int RECORDER_CHANNELS = AudioFormat.CHANNEL_CONFIGURATION_MONO; private int RECORDER_AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT; private int RECORDER_SAMPLERATE = 44100; private byte RECORDER_BPP = (byte) 16; private AudioRecord audioRecorder; public void arm() { // Get the minimum buffer size required for the succe
2 2024-01-31
编程技术问答社区
音频记录和音频追踪的延迟
我正在尝试开发诸如irig for android之类的放置,因此第一步是捕获麦克风输入并同时播放. 我有它,但是问题是我得到了一些延迟,使它无法使用,如果我开始处理缓冲区,恐怕它会完全无法使用. 我使用audiorecord和audiotrack: new Thread(new Runnable() { public void run() { while(mRunning){ mRecorder.read(mBuffer, 0, mBufferSize); //Todo: Apply filters here into the buffer and then play it modified mPlayer.write(mBuffer, 0, mBufferSize); //L
0 2024-01-31
编程技术问答社区
将CHANNEL_IN_STEREO的音频记录分成两个通道
我正在使用Android手机的立体记录进行项目(注3).但是我需要将数据从不同的频道(右,左)分开.如何执行该操作? 现在,我使用Audiorecord记录了内部麦克风的声音.我可以记录,将声音保存到.raw和.wav文件. 一些代码如下. private int audioSource = MediaRecorder.AudioSource.MIC; private static int sampleRateInHz = 44100; private static int channelConfig = AudioFormat.CHANNEL_IN_STEREO; private static int audioFormat = AudioFormat.ENCODING_PCM_16BIT; bufferSizeInBytes = AudioRecord.getMinBufferSize(sampleRateInHz, ch
0 2024-01-30
编程技术问答社区
实时回放来自麦克风的声音
我一直在尝试让我的申请录制来自麦克风的声音并重新播放(大约)实时,但是没有成功. 我分别使用Audiorecord和Audiotrack课程进行记录和播放.我已经尝试了不同的方法,我尝试记录传入的声音并将其写入文件,并且效果很好.我还尝试使用Audiotrack从该文件中播放声音,而且效果也不错.问题是当我尝试实时播放声音时,而不是在编写文件后读取声音. 这是代码: //variables private int audioSource = MediaRecorder.AudioSource.MIC; private int samplingRate = 44100; /* in Hz*/ private int channelConfig = AudioFormat.CHANNEL_CONFIGURATION_MONO; private int audioFormat = AudioFormat.ENCODING_PCM_16BIT; private int buff
0 2024-01-29
编程技术问答社区
在Android上录制和保存音频
我正在开发一个Android(2.2)应用程序来记录音频.该代码似乎运行良好,甚至可以将文件保存在SD卡上,但是当我尝试在Mac上播放音频文件时,什么都不会发生.几乎就像文件为空一样.我尝试将它们保存为.mp3和.wav,但没有运气.我的代码如下: import java.io.File; import java.io.IOException; import android.media.MediaRecorder; import android.os.Environment; public class AudioRecorder { private MediaRecorder recorder = new MediaRecorder(); private File outfile = null; public AudioRecorder(){} public void startRecording(String audioFile) th
4 2024-01-29
编程技术问答社区
安卓:以MP3格式记录声音
我正在构建一个Android应用程序,具有通过麦克风捕获声音并通过耳机播放声音的功能.为此,我使用了" Audiorecord"和" Audiotrack".以下是我正在使用的代码的某些部分,(仅供理解) mInBufferSize = AudioRecord.getMinBufferSize(mSampleRate, AudioFormat.CHANNEL_CONFIGURATION_MONO, mFormat); mOutBufferSize = AudioTrack.getMinBufferSize(mSampleRate, AudioFormat.CHANNEL_CONFIGURATION_MONO, mFormat); mAudioInput = new AudioRecord(MediaRecorder.AudioSource.MIC, mSampleRate, AudioFormat.CHANNE
0 2024-01-27
编程技术问答社区
当前活动的屏幕视频记录 安卓
是否可以从同一活动中录制当前运行活动的屏幕视频? 我知道如何进行当前活动的屏幕截图,但对拍摄屏幕视频记录一无所知. 我将如何从它开始?我不知道该如何开始. 解决方案 编辑:这个答案由答案以下从Danpe . 从应用程序中编程录制视频将需要root访问.您会注意到,在Play商店中可用于执行此操作的应用在其应用程序描述中突出列表"需要root".您还会注意到,从 ScreenCast视频记录器 App. 我自己从来没有写过此代码,但是我对所需方法有一个很高的概念.它从这个框架缓冲区数据通过"/dev/graphics/fb0".帧缓冲区的访问模式为660,这意味着您需要root访问才能进入它.一旦获得root访问权限,就可以使用框架缓冲区数据创建屏幕截图(此 project 可能适用于此任务),然后从这些屏幕截图中创建视频(请参阅另一个有关如何从图像序列创建视频). 我已经使用了ScreenCast应用程序,并且在三星注释中效果很好.我怀疑这是他们采取的基本方法
2 2024-01-27
编程技术问答社区
AWS DynamoDB-随机挑选一条记录/项目?
有什么想法如何从DynamoDB表中随机选择项目/记录?我不认为API中有任何规定. 我考虑要维护数字| myotherkey(" NumericIdtable"),然后在0和我拥有的记录总数之间生成一个随机数-run. 想法/想法欢迎. 解决方案 我想出的一种方法是从DynamoDB表中选择一个随机项目: 在您的表中的所有可能的程型上生成一个随机范围 使用此范围和RangeKeyCondition orgethan查询表格,限制为1 例如,如果您使用UUID作为揽胜的标识符,则可以获取随机物品,例如以下 RandomRangeKey = new UUID RandomItem = Query( "HashKeyValue": "KeyOfRandomItems", "RangeKeyCondition": { "AttributeValueList":
0 2024-01-25
编程技术问答社区