2016-11-10 15 views
1

サーバーに音声録音をアップロードします。URLをNSDataに変換します。

file:///Users/xantatech/Library/Developer/CoreSimulator/Devices/77F4D768-1F04-4390-B60F-F1FE79388653/data/Containers/Data/Application/87C457FA-1A9F-4CA9-A651-6A3D411A0B7E/Documents/myAudio0.mp3 

私のコードは次のとおりです:

NSData* data = [NSData dataWithContentsOfURL:audioURL options:NSDataReadingUncached error:&error]; 

しかし、データはnilである

マイファイルのURLです。

+0

http://stackoverflow.com/questions/11525942/play-audio-ios-objective-一度これを見ますc –

+0

absoluteLRLを使用しようとしました NSData * data = [NSData dataWithContentsOfURL:[audioURL absoluteURL]オプション:NSDataReadingUncachedエラー:&error]; ' – nynohu

+0

も機能しません。また、nilも発生します。 –

答えて

0

文書利用]フォルダからデータを取得するため、このコード:

if([[NSFileManager defaultManager] fileExistsAtPath:filepath) 
{ 
    NSData *data = [[NSFileManager defaultManager] contentsAtPath:filepath]; 
} 
else 
{ 
    NSLog(@"File not exits"); 
} 
0

はあなただけ実行する必要があります。コードの下に試してみてください

NSURL *imgPath = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"png"]; 
NSString *path = [imgPath absoluteString]; 
NSData *data = [NSData dataWithContentsOfURL: [NSURL URLWithString:path]; 
0

この

NSData* data =[[NSData alloc]init]; 
data = [NSData dataWithContentsOfFile:[NSURL URLWithString:path]]; 
+0

は再び動作しません.. –

1

を試してみてください

NSString *audioURLString = @"file:///Users/xantatech/Library/Developer/CoreSimulator/Devices/77F4D768-1F04-4390-B60F-F1FE79388653/data/Containers/Data/Application/87C457FA-1A9F-4CA9-A651-6A3D411A0B7E/Documents/myAudio0.mp3"; 
NSString *sendStr = [[audioURLString absoluteString] stringByReplacingOccurrencesOfString:@"file:///private" withString:@""]; 
NSData *data = [[[NSData dataWithContentsOfFile:sendStr]]]; 

幸運.....実行した後に

0


ファイル:///ユーザ/ xantatech /ライブラリ/開発/ CoreSimulator /デバイス/ 77F4D768-1F04-4390-B60F-F1FE79388653 /データ/コンテナ/データ/アプリケーション/ "87C457FA-1A9F-4CA9-A651-6A3D411A0B7E" /Documents/myAudio0.mp3
太字 "87C457FA-1A9F-4CA9-A651-6A3D411A0B7E" に変更してもよいです。
あなたは常にSandboxのパスを取得する方法を使用する必要があります。

NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject] stringByAppendingPathComponent:@"myAudio0.mp3"]; 

関連する問題