数日から、iPhone で ogg をプレイする方法を探していました。しかし、成功していません。precompiled-ogg-vorbis-libraries-for-iosを指すこの投稿を見つけましたが、このフレームワークまたはライブラリの使用方法がわかりません。私はコーディングが初めてです。この投稿も見つけまし たが、バンドルから ogg オーディオを再生します。ウィキペディアのオーディオのように、特定の URL から再生したい。どんな助けでも素晴らしいでしょう。ありがとう
アップデート:
iOSで使用できる別のライブラリまたはファイルを見つけましたが、それでもXcodeでの使用方法がわかりません。Sean Barrett による Ogg Vorbis I オーディオ デコーダ。これをどのように使用するかについてのアイデア。
更新 2:
このように使用しようとしましたが、出力ファイルに音声がありません。どこが間違っているのか。
NSString *file = @"http://upload.wikimedia.org/wikipedia/commons/b/b2/En-us-Pakistan.ogg";
NSURL *fileURL = [NSURL URLWithString:file];
NSData * data = [NSData dataWithContentsOfURL:fileURL];
unsigned char* array = (unsigned char*) [data bytes];
int len = [data length];
if (data != nil) {
NSLog(@"\nis not nil");
//NSString *readdata = [[NSString alloc] initWithContentsOfURL:(NSData *)data ];
stb_vorbis* Stream = stb_vorbis_open_memory(array, len, NULL, NULL);
if (Stream)
{
stb_vorbis_close(Stream);
//return true;
}
else
{
//return false;
}
}
Byte *byteData = (Byte*)malloc(len);
memcpy(byteData, [data bytes], len);
NSData *ddata = [NSData dataWithBytes:byteData length:len];
if (ddata == nil) {
NSLog(@"data nil");
}
else{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"wikiaudio"];
NSError *error;
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]; //Create folder if it doesn't already exist
NSString * filename = [@"hello" stringByAppendingString:@".mp3"];
NSString *filePath = [NSString stringWithFormat:@"%@/%@", dataPath,filename];
[ddata writeToFile:filePath atomically:YES];
NSLog(@"filepath %@", filePath);
}