• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

标签:audiotrack

Android

AudioManager在setMode(MODE_IN_COMMUNICATION)中引入延迟

AudioManager在setMode(MODE_IN_COMMUNICATION)中引入延迟
即使打开耳机,我仍试图在扬声器上播放声音;但是,如果在后台播放音乐,我希望在耳机上播放音乐,直到播放声音为止。 因此,我正在采取以下步骤: 在播放声音之前,我会获得音频聚焦,因此所有背景音乐都是停止 获得audioFocus之后,我将MODE_COMMUNICATION设置为AudioManager,因此可以在扬声器上播放声音。 声音结束后,我放弃了Aud……继续阅读 »

Android

播放音乐的Android应用几秒钟后停止工作

播放音乐的Android应用几秒钟后停止工作
我已经制作了一个可产生声音并播放声音的android应用程序,它在我的模拟器上可以正常工作,但是在我的实际设备上,大约一分钟后,它“停止工作”。有什么想法吗?这是几乎所有事情发生的类(class): package com.funguscow; import android.app.Activity; import android.content.Cont……继续阅读 »

Android

从蓝牙套接字流传输时,AudioTrack缓冲区不足

从蓝牙套接字流传输时,AudioTrack缓冲区不足
我正在测试一个Android应用程序的概念,该应用程序允许您通过RFCOMM(从PC到手机)流式传输蓝牙。我可以将音频从计算机传输到手机,然后开始流式传输音频。 问题是音频开始发出声音,并且我从AudioTrack收到缓冲区欠载错误消息。从套接字读取是花费最多的时间。当我为它计时时,将返回>= 1000毫秒以使读取返回,而平均返回几百个则发生欠载。这是……继续阅读 »

Android

Android AudioTrack getPlaybackHeadPosition始终返回0

Android AudioTrack getPlaybackHeadPosition始终返回0
我正在编写一些旨在获取Wave文件并将其写到ModeStream模式下的AudioTrack中的代码。这是使AudioTrack流模式正常工作的最低可行测试。 但是,一旦我将一些音频缓冲区写入AudioTrack,然后调用play(),方法getPlaybackHeadPosition()就会连续返回0。 编辑:如果我忽略可用的帧检查,而只是不断地将缓冲区写……继续阅读 »

Android

Android AudioTrack替代

Android AudioTrack替代
我想知道是否有任何第三方库提供的Java API与Android AudioTrack类似,但性能更高。 我希望能够混合和编写自己的PCM音频缓冲区,并且还具有比AudioTrack低的延迟。在某些设备上,AudioTrack具有如此大的缓冲区大小,延迟约为250ms! 我知道使用c++可能是最终的解决方案,但我想先介绍所有基础知识。 解决方案如下: ……继续阅读 »

Android

如何在Java中将byte []转换为float []并返回?

如何在Java中将byte []转换为float []并返回?
我正在通过InputStream从.wav文件中读取数据,并且read()返回字节。我使用的声音处理库仅接受float []进行处理。完成后,它给了我float []。现在,我需要再次以字节格式写入Android的AudioTrack。 如何将这些bytes转换为floats[],然后又转换回byte[]?我已经搜索了一下,但是一切似乎都与我的情况不同,所有……继续阅读 »

audio

从音频文件计算FFT

从音频文件计算FFT
之前,我问过有关Get frequency wav audio using FFT and Complex class的问题, 在那里,我需要从AudioRecord输入->从麦克风计算FFT值,以某种方式设法获得FFT值… 现在,我需要从之前保存的* .wav音频文件中计算FFT值,我将音频保存在项目的“res”文件夹中的“raw”文件夹……继续阅读 »

Android

音轨WRITE_BLOCKING与WRITE_NON_BLOCKING

音轨WRITE_BLOCKING与WRITE_NON_BLOCKING
我试图弄清楚Android AudioTrack的工作原理。对我来说,困惑的一点是写入模式。 documentation for the write() method指示您可以传递写入模式WRITE_BLOCKING or WRITE_NON_BLOCKING。 根据说明,WRITE_BLOCKING是否会阻塞,直到播放完所有数据为止?因此,例如,如果我在大……继续阅读 »