我正在录制声音并将其存储在沙箱中,并在下一视图中将其声音名称和这首歌曲存储在sqlite中。我已经使用了Blob,但是应用变得太慢了,所以我想将特定歌曲的沙箱路径存储在sqlite数据库中。
记录的保存目的
- (void)saveRecordFile
{
NSLog(@"play Record");
if (audioPlayerRecord)
{
if (audioPlayerRecord.isPlaying) [audioPlayerRecord stop];
else [audioPlayerRecord play];
return;
}
初始化播放音频 session
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *recDir = [paths objectAtIndex:0];
NSString *pathToSave = [recDir stringByAppendingPathComponent:[self dateString]];
songUrl = [NSURL fileURLWithPath:pathToSave];
在这里,songUrl包含所有如何存储在数据库中的歌曲。
最佳答案
不要将文件路径转换为URL。保留它为路径。然后只需将路径字符串保存到数据库中即可。
如果将blob设为链接到数据库中其他实体的单独实体,则应该能够将BLOB保存到数据库中而不会降低其速度。不要将BLOB设为记录字段。它使记录太“沉重”。