将任意字节转换为特定文件类型的NSData

时间:2014-08-12 00:54:09

标签: ios audio avaudioplayer

我想播放由随机,任意字节组成的音频。 我正在使用随机字节的AVAudio播放器,如下所示:

self.player = [[AVAudioPlayer alloc] initWithData:[self create20mbRandomNSData] error:&error];
- (NSData *)create20mbRandomNSData
{
    int twentyMb           = 20971520;
    NSMutableData* theData = [NSMutableData dataWithCapacity:twentyMb];
    for( unsigned int i = 0 ; i < twentyMb/4 ; ++i )
    {
        u_int32_t randomBits = arc4random();
        [theData appendBytes:(void*)&randomBits length:4];
    }
    return theData;
}

但是,此代码会产生错误:OSStatus错误1954115647,转换为:&#34;不支持的文件类型。&#34;

我明白了。随机字节!=音频文件。

我的问题:是否有一种相对简单的方法来解释,读取或将任意字节转换为特定类型的文件?理想情况下,我想转换为.mp3或CoreAudio支持的其他音频格式。但是,此问题适用于任何和所有文件类型。

谢谢!

0 个答案:

没有答案