我想反转NSMutableData
的字节。
我正在从音频文件生成nsmutabledata对象。并使用数据播放。我的目的是反向播放音频。
如果我可以反转NSMutableData
,我将会成功。
这是我的代码
NSString *inputVideoPath = [[NSBundle mainBundle] pathForResource:@"chalne" ofType:@"mp3"];
NSMutableData *wave=[NSMutableData dataWithContentsOfURL:[NSURL fileURLWithPath:inputVideoPath]];
avPlayer = [[AVAudioPlayer alloc] initWithData:wave error:nil ];
[avPlayer prepareToPlay];
[avPlayer play];
最佳答案
由于声音数据的字节流具有特定格式,因此仅反转位的顺序将不起作用。您需要反转样本,而不是整个字节流。但是,要回答“如何反转NSData的字节”,这应该可以工作(将其键入,可能有错字):
NSData *myData;
const char *bytes = [myData bytes];
char *reverseBytes = malloc(sizeof(char) * [myData length]);
int index = [myData length] - 1;
for (int i = 0; i < [myData length]; i++)
reverseBytes[index--] = bytes[i];
NSData *reversedData = [NSData dataWithBytes:reverseBytes length:[myData length]]
free(reverseBytes);
关于iphone - 如何颠倒NSMutableData的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11760908/