草庐IT

android - 确定音频文件的持续时间和格式

给定音频文件的路径(在SD卡上),确定音频长度(以毫秒为单位)和文件格式(或互联网媒体类型)的最佳方法是什么?(对于持续时间,可以使用MediaPlayer的getDuration方法,但这似乎太慢/笨拙。) 最佳答案 对于音频文件的长度:FileyourFile;MediaPlayermp=newMediaPlayer();FileInputStreamfs;FileDescriptorfd;fs=newFileInputStream(yourFile);fd=fs.getFD();mp.setDataSource(fd);mp.

Android:如何生成频率?

Android中是否有生成并播放频率(例如1000hz、245hz)的好方法? 最佳答案 看看android.media。ToneGenerator.您也可以尝试以下代码。publicclassPlaySoundextendsActivity{//originallyfromhttp://marblemice.blogspot.com/2010/04/generate-and-play-tone-in-android.html//andmodifiedbyStevePomeroyprivatefinalintduration=3;/

Android 实时音频分析

我已经在网上搜索过这个,但还是有点困惑(因为我相信其他人如果想到这样的事情也会这样)。我想先声明,这不是功课和/或利润。我想创建一个应用程序,在您准备爆米花时可以听取微波炉的声音。当流行音乐之间有一定的时间间隔(比如5-6秒)时,它会通过发出警报来工作。再次重申,这只是一个让我忙碌的项目-不是为了上课。无论哪种方式,我都无法弄清楚如何实时分析音频输入。也就是说,我需要一种方法来记录“流行”发生的时间。为了让你们不要以为我没有对此事进行任何研究,我已经查看了this所以问题并广泛搜索了AudioRecord功能列表。我想我可能不得不对read()的其中一个版本做些什么然后每2秒左右将录制

android - 视频作为启动画面而不是图片

我在启动画面上进行Android编程教程,您在其中显示图片或文本5秒,然后进入主应用程序。我的问题是..我想在进入应用程序的下一页之前显示5秒的视频文件而不是文本或图片。我不是在谈论应用程序何时加载我正在谈论的是何时加载它并且您对其进行编程以在单独的Java和XML页面上显示某些内容以显示某些内容然后移动到其他内容..这是我当前的代码。@OverrideprotectedvoidonCreate(BundleSplashScreen1){//TODOAuto-generatedmethodstubsuper.onCreate(SplashScreen1);setContentView(

android - 在 Android 应用程序中实现声音

我正在用android开发一个游戏应用程序。我设计了所有View并实现了所有功能。现在在最后一个屏幕中,我必须在android中播放声音。任何人都可以告诉我如何追求它吗? 最佳答案 MediaPlayermp=MediaPlayer.create(getApplicationContext(),R.raw.AudioFile1);mp.start();然后你从mp中获取所有的启动/停止/重置/暂停/释放方法。 关于android-在Android应用程序中实现声音,我们在StackOve

方波上的android音频失真

我发现我的智能手机(android4.2.2)无法生成方波(我需要它使用音频输出作为数据传输的串行线)。一开始我以为这是我的应用程序,但后来我做了很多重要的测试。这些是最新的测试。我希望你能找到这个现象的解释。我生成了一个wav文件,里面有一个500Hz的方波。我在安卓手机和苹果iphone上播放wav文件。我用我的笔记本(连接到笔记本音频输入的音频线)记录和分析信号。然后我用连接蓝牙收发器设备和笔记本音频输入的音频线重复了测试。智能手机通过蓝牙(一次一个)连接到蓝牙收发器设备。注意:蓝牙收发设备是通过蓝牙接收音频数据并通过标准音频插孔输出音频的设备。这是直接连接在音频插孔上的iPho

android - 无法使用 MediaMuxer 混合音频文件和视频文件?

我正在开发一个录制屏幕视频和音频的Android应用程序。我录制了这两个文件:mp3音频文件和mp4视频文件(无声音)。现在我想混合它们并创建一个新的mp4视频文件(带声音)。从Android4.3开始,Google建议使用MediaMuxer类来混合流式音频和视频。我试了很多次都没有成功。Google的MediaMuxerAPI是否有解决我的问题的解决方案?任何帮助将不胜感激。 最佳答案 MediaMuxer不会转码。如果您写出一个MPEG4文件,它会期望视频文件是MPEG4/AAC,音频文件也是AAC文件(m4a)。一旦你用m4

c++ - 使用 Speex 和 DirectSound 的回声消除 (AEC)

我正在尝试使用Speex编解码器库执行回声消除(AEC)。根据Speex文档,我需要执行两个调用:speex_echo_playback(echo_state,echo_frame);每次播放一个音频帧,并且speex_echo_capture(echo_state,input_frame,output_frame);对于捕获的每一帧。因为我使用的是DirectSound,所以我想我可以在调用speex_echo_playback时使用主DirectSound缓冲区作为echo_frame,例如,DWORDoffset=0;DWORDlength=0;LPVOIDblock1,bloc

c++ - 用于 MP3、AAC、WAV 的跨平台 (C/C++) 音频库

我正在尝试寻找一个具有以下功能(按重要性排序)的跨平台音频库:完整的Windows、Mac、Linux支持C/C++API免费/便宜但在商业上可行MP3支持AAC支持WMA支持FLAC支持OGG支持最好支持ARMLinux开源我发现了一些东西,例如OpenAL、libao、Bass等,但它们似乎都受到操作系统、编解码器或两者的限制。大多数情况下,MP3和AAC支持是必须的,因为我正在开发媒体播放器并希望它支持这些常见格式。有什么建议吗? 最佳答案 可以看看GStreamer和FFmpeg.编辑:既然愿意用Qt,就一定要查QtMult

c++ - 如何使用QtMultimedia播放wav文件?

我当前的代码是:voidSound::run(){QFileaudio_file(mResourcePath);if(audio_file.open(QIODevice::ReadOnly)){audio_file.seek(44);//skipwavheaderQByteArrayaudio_data=audio_file.readAll();audio_file.close();QBuffer*audio_buffer=newQBuffer(&audio_data);qDebug()size();QAudioFormatformat;format.setSampleSize(16)