我计划制作一个应用程序,利用 Parse.com 后端进行用户身份验证/帖子/关注者等。我希望用户能够将示例音乐文件上传到 Parse(或替代解决方案),然后能够流式传输或让其他人能够流式传输。有人告诉我可以使用 PFFile 存储文件,但就流式传输而言如何?
这是否也违反了 Apple 规则,因为最终它将允许用户通过该应用购买这些音乐文件,或者我是否必须使用某种 iTunes 帐户/文件?
提前感谢您的帮助
最佳答案
就上传它进行解析而言:
PFObject *testObject = [PFObject objectWithClassName:@"TestObject"];
//get the audio in NSData format
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"02 Interstellar Overdrive" ofType:@"m4a"];
NSData *audioData = [NSData dataWithContentsOfFile:filePath];
//create PFFile to store audio data
PFFile *audioFile = [PFFile fileWithName:@"02 Interstellar Overdrive.m4a" data:audioData];
testObject[@"audioFile"] = audioFile;
//save
[testObject saveInBackground];
就从 Parse 服务器流式传输而言,使用允许流式传输的 AVPlayer。如果你想在播放前先下载整首歌曲,你可以使用 AVAudioPlayer:
PFQuery *query = [PFQuery queryWithClassName:@"TestObject"];
[query whereKeyExists:@"audioFile"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error)
{
PFObject *testObject = [objects lastObject];
PFFile *audioFile = testObject[@"audioFile"];
NSString *filePath = [audioFile url];
//play audiofile streaming
self.avPlayer = [[AVPlayer alloc] initWithURL:[NSURL URLWithString:filePath]];
self.avPlayer.volume = 1.0f;
[self.avPlayer play];
} else {
NSLog(@"error = %@", [error userInfo]);
}
}];
无法确定 Apple 是否允许您在您的应用中销售音乐。
关于ios - 在应用程序中存储短音频文件/流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19781604/