音频/语音可视化

时间:2010-03-15 15:06:14

标签: iphone objective-c

嘿,你是Objective-C bods。

有没有人知道如何根据iPhone上麦克风的输入更改(转换)图像?

即。当用户对着麦克风讲话时,图像会发出脉冲或歪斜。

[编辑]任何人有任何想法,我有(基本上是)一个录音应用程序。我只想在提供语音输入时改变一些东西。我在一个示例项目中看过它,但那不是UIImage。 [/编辑]

感谢你!!

2 个答案:

答案 0 :(得分:8)

Apple为此制定了一些很棒的框架! AVFoundation框架和CoreAudio框架对您最有用。

获取音频级别信息AVAudioRecorder非常有用。虽然它用于录制,但它也提供麦克风的电平数据。这对于根据用户在手机上大喊的声音来改变你的图像非常有用;)

以下是AVAudioRecorderAVAudioRecorder Class Reference

的苹果文档

更详细一点:

// You will need an AVAudioRecorder object
AVAudioRecorder *myRecorderObject;

// To be able to get levels data from the microphone you need
// to enable metering for your recorder object

[myRecorderObject prepareToRecord];
myRecorderObject.meteringEnabled=YES;

// Now you can poll the microphone to get some levels data

float peakPower    = [myRecorderObject peakPowerForChannel:0];
float averagePower = [myRecorderObject averagePowerForChannel:0];

如果您想看到如何使用AVAudioRecorder对象获取关卡数据的一个很好的示例,请查看此tutorial

就图像变形而言,这将取决于图像库。苹果有很多可供选择和一些很棒的选择。我不熟悉任何事情,但也许其他人可能会回答。

祝你好运!

答案 1 :(得分:0)

您可以尝试使用gl-data-visualization-view可扩展框架来显示您的声级。