-1

リソースフォルダに10個のmp3ファイルを取得し、ボタンが押されたときにそれらを再生しようとしています。NSMutableArrayにmp3ファイルの名前を入力し、ボタンが押された後に各ファイルを読み取りました。

問題は、pathForResource:が機能していないことです(nilを返します)。pathFoResource:@ "song1.mp3" ofType:@ "mp3"のようにファイル名を明示的に使用する場合-ただし、pathForResource:valuemを使用する場合、valuemはsong1の値を持つNSstringです

あなたが助けることができることを願っています

よろしく

 NSString *cellValue0 = [listOfmp3 objectAtIndex:anumber];
 NSString *valuem;

 if ( [cellValue0 length] > 0 )
  valuem = [cellValue0 substringToIndex:[cellValue0 length] - 4];


 NSString *pdfPath2 = [[NSBundle mainBundle] pathForResource:valuem ofType:@"mp3"];  
 NSURL *url = [NSURL fileURLWithPath:pdfPath2];
4

2 に答える 2

2

リソース名に拡張子を入れないでください。

[bundle pathForResource:@"song1" ofType:@"mp3"]; // correct
[bundle pathForResource:@"song1.mp3" ofType:@"mp3"]; // wrong — gets song1.mp3.mp3.

valuem拡張子を持たないチェック。

于 2010-03-25T09:37:48.043 に答える
0

以前の投稿で申し訳ありませんが、ここで問題をより明確な言葉で言い換えます。

Vladimir: はい、値をログに記録すると、正しい文字列が返されます

KennyTM: はい、タイプミスでした。元のコードには @"song1" しかありません。

問題は、私が使用する場合

[[NSBundle mainBundle] pathForResource:"song1" ofType:@"mp3"];  It is working 

しかし、私が使用する場合

[[NSBundle mainBundle] pathForResource:valuem ofType:@"mp3"];  

値が @"song1" を含む文字列であることに注意してください。

于 2010-03-25T21:08:06.357 に答える