返回列表 發帖

[iPhone] 獲取媒體檔案路徑

本帖最後由 余信德 於 2015-11-11 18:33 編輯

小弟在iphone上研究DLNA的DMS,參考網路資料後能夠建立server端並被搜索到
但連上後路徑不知要如何設定才能顯示所有媒體檔案(圖片,影片,音樂)

想請教各位如何獲取媒體路徑,有相關function可以參考嗎?

另外請教各位,如何將媒體文件存在指定路徑位置?
您用哪一套Library建立DMS? upnpx還是其他?

若是要抓取媒體資料的話可以參考下面的code
  1. -(void) getSongsByModeIndex:(NSInteger)index Keyword:(NSString *)keyword{
  2.     MPMediaQuery *searchQuery = [[MPMediaQuery alloc] init];   
  3.     NSString *tempStr;
  4.     switch (index) {
  5.         case 1:
  6.         {
  7.             tempStr=@"albumTitle contains[cd] %@ ";
  8.         }
  9.             break;
  10.         case 2:
  11.         {
  12.             tempStr=@"artist contains[cd] %@ ";
  13.         }
  14.             break;
  15.         default:
  16.             break;
  17.     }
  18.    
  19.     NSPredicate *predicate = [NSPredicate predicateWithFormat:tempStr, keyword];
  20.     _dataArray =[NSMutableArray arrayWithArray: [[searchQuery items] filteredArrayUsingPredicate:predicate]];
  21.    
  22.     [self customReloadData];
  23.    
  24. }
複製代碼
本帖最後由 余信德 於 2015-11-12 10:34 編輯

回復 2# babyfish0226


    恩,我是用Platinum來建立DMS,這個_dataArray是什麼?報錯了耶
_dataArray 是儲存抓取後資料的陣列,是Public的,code只是讓您參考而已。
回復 4# babyfish0226


    您好,我參照您的方式進行搜索
在dataarray抓到的資料陣列全部顯示MPConcreteMediaItem
要怎麼取得詳細資料路徑檔名演出者等等的資料
另外,那個tempStr的參數指的是查找的類型?您是怎麼下的,有指令表嗎
回復  babyfish0226

    您好,我參照您的方式進行搜索
在dataarray抓到的資料陣列全部顯示MPConcreteMe ...
余信德 發表於 2015-11-12 17:31

  1.    MPMediaItem *tempItem=[_dataArray objectAtIndex:i];
  2.      
複製代碼
要抓取MPMediaItem的資料請用
  1. -(NSMutableDictionary *)convertMediaItemToDict:(MPMediaItem *)songItem{
  2.   ~~~略~~~
  3.     NSString *songTitle = [songItem valueForProperty: MPMediaItemPropertyTitle];
  4.     NSString *durationStr = [songItem valueForProperty: MPMediaItemPropertyPlaybackDuration];
  5.     NSString *assetURLStr = [songItem valueForProperty: MPMediaItemPropertyAssetURL];
  6.     NSString *albumTitleStr = [songItem valueForProperty: MPMediaItemPropertyAlbumTitle];
  7.     NSString *artistStr = [songItem valueForProperty: MPMediaItemPropertyArtist];
  8. ~~~略~~~
  9. }
複製代碼
返回列表