웹 서비스에서 wav 파일을 다운로드하고 아이폰에 캐시하고 AVAudioPlayer를 사용하여 재생하려고합니다. 비교적 큰 파일을 다룰 때는 NSFileHandle과 NSURLConnection을 사용하는 것이 가능한 해결책으로 보인다. 그러나 시뮬레이터에서 응용 프로그램을 실행 한 후에는 정의 된 디렉토리 (NSHomeDirectory/tmp) 아래에 저장된 파일이 표시되지 않습니다. 아래는 내 기본 코드입니다. 내가 어디에서 잘못하고 있니? 어떤 생각이라도 감사드립니다!NSFileHandle 및 NSURLConnection을 사용하여 웹에서 WAF 파일을 iPhone의 위치로 다운로드하는 방법은 무엇입니까?
#define TEMP_FOLDER [NSHomeDirectory() stringByAppendingPathComponent:@"tmp"]
- (void)downloadToFile:(NSString*)name
{
NSString* filePath = [[NSString stringWithFormat:@"%@/%@.wav", TEMP_FOLDER, name] retain];
self.localFilePath = filePath;
// set up FileHandle
self.audioFile = [[NSFileHandle fileHandleForWritingAtPath:localFilePath] retain];
[filePath release];
// Open the connection
NSURLRequest* request = [NSURLRequest
requestWithURL:self.webURL
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
NSURLConnection* connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
}
#pragma mark -
#pragma mark NSURLConnection methods
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData*)data
{
[self.audioFile writeData:data];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError*)error
{
NSLog(@"Connection failed to downloading sound: %@", [error description]);
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
[connection release];
[audioFile closeFile];
}
'TEMP_FOLDER'의 값은 무엇입니까? –