标签: wav

iPhone SDK:从按钮播放单个WAV

我目前正在尝试此代码:

NSString *path = [[NSBundle mainBundle] pathForResource:@"dream" ofType:@"m4a"];  
AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];  
theAudio.delegate = self;  
[theAudio play];
Run Code Online (Sandbox Code Playgroud)

但是,SDK说ViewController没有实现AVAudioPlayer委托.

有关如何使用2.2 SDK播放WAV(或M4a)的任何想法?

objective-c wav avaudioplayer ios

3
推荐指数
1
解决办法
2万
查看次数

在Cocoa中加载OpenAL的.wav文件

我需要将声音文件加载到基于Cocoa的OpenAL应用程序.

进展:

  • OpenAL实用程序函数alutLoadWAVFile已被弃用; Mac OS X SDK中不再包含alut标头.根据TechNotes,实际代码仍然存在二进制兼容性.但是,如果我尝试为函数添加声明,代码将编译但链接器将中止,抱怨无法找到alutLoadWAVFile的符号.(我正在链接到OpenAL.framework).

  • 但是,Apple OpenAL示例代码仍然使用此符号.当我清理示例代码项目时,它编译和链接就好了.然而,没有声明可以找到该功能.(旁边的问题:如何构建和链接呢?)

所以,我在Apple发现了George Warner的一些代码,其中包含alutCreateBufferFromFile和alutLoadMemoryFromFile的替换函数.虽然能够直接从大多数任何类型的音频文件创建OpenAL缓冲区,但代码似乎仅支持8位单声道声音文件.16位立体声或单声道44khz文件导致令人讨厌的嘶嘶声和剪辑.(文件还可以; Quicktime播放它们就好了.)

因此,我的问题:有人可以指点一些.wav加载Cocoa/Carbon的代码/帮助,适合与OpenAL Buffer一起使用吗?谢谢.

audio cocoa file loading wav

3
推荐指数
1
解决办法
5951
查看次数

在MATLAB中创建淡入/淡出功能?

我期待创建一个功能,可以在五秒钟内在.wav文件上创建淡入/淡出功能.

我在MATLAB论坛上发现了这个代码,但似乎实现有些错误,尽管正确的想法就在那里.它适用于300毫秒的.WAV文件,淡入/淡出10毫秒:

tenmssamples = length(soundfile)*10/300;
fade1 = linspace(0,1,tenmssamples);
fadedsound = soundfile .* ...
  [fade1, ones(1,length(soundfile)-2*tenmssamples), fliplr(fade1)];


tenmssamples = length(soundfile)*10/300;
fade2 = sin(linspace(0,2*pi/4,tenmssamples));
fadedsound2 = soundfile .* ...
  [fade2, ones(1,length(soundfile)-2*tenmssamples), fliplr(fade2)];
Run Code Online (Sandbox Code Playgroud)

我可以看到他试图通过尝试扩展使用linspace的增函数读取波形的第10个样品做,但我试图修补和修改,但我无法得到它的工作.

有人有什么建议吗?谢谢.

audio matlab wav fadeout fadein

3
推荐指数
1
解决办法
8461
查看次数

C++ - 规范化wav文件的音量级别

知道如何规范化wav文件,以便使用c ++将音量级别变为最大值?公式是什么?我整个下午都用Google搜索,但没有找到答案.任何帮助请!

c++ volume normalization wav

3
推荐指数
1
解决办法
2780
查看次数

用AVFoundation播放wav声音文件

我正在使用AVFoundation播放wav文件.但我无法发挥它.也没有出现任何错误或警告.

XCode是4.2,设备是iOS 5.

- (IBAction) playSelectedAlarm:(id)sender {

UIButton *button = (UIButton *)sender;

int bTag = button.tag;

NSString *fileName = [NSString stringWithFormat:@"%d23333", bTag];

NSLog(@"%@", fileName);

NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"wav"];

NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: path];

AVAudioPlayer *theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:NULL];

theAudio.volume = 1.0;

theAudio.delegate = self;

[theAudio prepareToPlay];

[theAudio play];

}
Run Code Online (Sandbox Code Playgroud)

xcode wav avfoundation ios

3
推荐指数
1
解决办法
1万
查看次数

如何使用Java和没有javax.sound来确定8位WAV文件是已签名还是未签名

我只需要通过读取文件就知道8位的".wav"是有符号还是无符号的PCM.我不能使用"javax.sound.sampled.*"或AudioSystem库.

java unsigned signed bytearray wav

3
推荐指数
2
解决办法
3599
查看次数

无法将参数1从'const char [5]'转换为'LPCTSTR'

我正在使用这个代码项目:http://www.codeproject.com/Articles/10138/Voice-Recording-Playing-back-using-simple-classes

void CFisterDlg::OnRecord() 
{
    CString string;
    m_RecButton.GetWindowText(string);
    if(string == "Record")
    {
        StartRecordingToFile();
        m_RecButton.SetWindowText("Stop");
    }
    else
    {
        StopRecordingToFile();
        m_RecButton.SetWindowText("Record");
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我在很多地方都遇到了这个错误:

error C2664: 'void CWnd::SetWindowTextW(LPCTSTR)' : cannot convert argument 1 from 'const char [5]' to 'LPCTSTR'
Run Code Online (Sandbox Code Playgroud)

我认为这与我使用最新版本的visual studio(2013)有关.

c++ wav visual-studio-2013

3
推荐指数
1
解决办法
1万
查看次数

Java:混合两个WAV文件而不引入噪音

我正在尝试将2个WAV文件混合到一个WAV文件中。文件将始终具有完全相同的持续时间,并具有相同的格式(16位,44.1 kHz,带符号,小字节序,单声道)。这两个WAV都使用AudioSystem.getAudioInputSream的ByteArrayOutputStream放入字节数组,以确保我只是获取PCM数据而没有标题。

在其他几个线程的帮助下,我已经能够成功地组合阵列,但是也没有不给信号引入大量噪声。它绝对听起来不像是削波或失真,但是为了安全起见,我尝试对每对字节的总和求平均,这只会使所有内容变得更安静,更安静。

任何见解将不胜感激!我尝试了两种方法,它们应该执行相同的操作,并且似乎产生相同的声音结果。

第一种更简单的方法:

private byte[] mixBuffers(byte[] bufferA, byte[] bufferB) {
    byte[] array = new byte[bufferA.length];
    for (int i=0; i<bufferA.length; i++) {
        array[i] = (byte) ((bufferA[i] + bufferB[i]));
    }
    return array;
}
Run Code Online (Sandbox Code Playgroud)

第二种更具体的方法:

private byte[] mixBuffers(byte[] bufferA, byte[] bufferB) {
    byte[] array = new byte[bufferA.length];

    for (int i=0; i<bufferA.length; i+=2) {
        short buf1A = bufferA[i+1];
        short buf2A = bufferA[i];
        buf1A = (short) ((buf1A & 0xff) << 8);
        buf2A = (short) (buf2A & 0xff);

        short buf1B = bufferB[i+1];
        short buf2B …
Run Code Online (Sandbox Code Playgroud)

java audio merge wav

3
推荐指数
1
解决办法
1229
查看次数

用javascript播放PCM

我在浏览器上播放PCM Audio时遇到了一些问题.PCM音频来自具有udp协议的Android设备,并以*.raw保存在服务器上

我在webaudioapi的帮助下试图播放这个保存的文件失败了.使用以下代码,播放一些带有白噪声的令人毛骨悚然的声音:

var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
audioCtx.sampleRate = 16000;


// Stereo
var channels = 1;
// Create an empty two second stereo buffer at the
// sample rate of the AudioContext
var frameCount = audioCtx.sampleRate * 10.0;

var myAudioBuffer = audioCtx.createBuffer(channels, frameCount, audioCtx.sampleRate);


var req = new XMLHttpRequest();
req.open('GET', "example.raw", false);
req.overrideMimeType('text\/plain; charset=x-user-defined');
req.send(null);

function play(){
    for (var channel = 0; channel < channels; channel++) {

        var nowBuffering = myAudioBuffer.getChannelData(channel,16,16000);
        for (var i = 0; i …
Run Code Online (Sandbox Code Playgroud)

javascript audio wav web-audio-api

3
推荐指数
1
解决办法
3655
查看次数

.wav文件长度/持续时间没有在文件中读取

有没有办法提取有关.wav文件长度/持续时间的信息,而无需读入R中的文件?我有成千上万的这些文件,如果我必须阅读每一个文件以查找其持续时间,将需要很长时间.Windows文件资源管理器为您提供了打开长度字段的选项,您可以看到文件的持续时间,但有没有办法提取该信息以便能够在R中使用?

这是我尝试过并且想避免做的事情,因为读取R中的数万个音频文件需要很长时间:

library(tuneR)
audio<-readWave("AudioFile.wav")
round(length(audio@left) / audio@samp.rate, 2)
Run Code Online (Sandbox Code Playgroud)

windows audio r wav

3
推荐指数
1
解决办法
427
查看次数