2013-02-13 102 views
3

我正在使用MPMoviePlayerController從url播放視頻。 爲此,我正在從Xml解析器中獲取鏈接。這很好。NSUrl FileUrlWith Path在末尾附加「 - file:// localhost /」

NSString *path=[[self.items objectAtIndex:videoIndex]objectForKey:@"link"]; 

我將這個路徑分配給NSURL fileWithPath,如下所示。

NSURL *mediaUrl = [NSURL fileURLWithPath:path]; 

雖然打印mediaUrl,NSLog的是給 「http://example.com - 文件://本地主機/ 」

爲什麼 - 文件://本地主機/追加到URL,因此視頻不是在說。 任何幫助請。 謝謝。

+1

嘗試[NSURL URLWithString:@「http:// ******」] – Mohammad 2013-02-13 07:39:56

+1

並刪除url表單問題,如果它是私人url或屬於你的客戶.... – Mohammad 2013-02-13 07:41:22

+0

我需要傳遞此網址到MPMoviePlayerViewController.self.player = [[MPMov iePlayerViewController alloc] initWithContentURL:mediaUrl]; – Madhu 2013-02-13 07:42:52

回答

4

變化:NSURL *mediaUrl = [NSURL fileURLWithPath:path];

爲:NSURL *mediaUrl = [NSURL URLWithString:path];

正如你所呼叫的fileURLWithPath它的附加file://localhost/你的URL字符串。

2

這可能有點舊,但如果傳入的字符串不是有效的完整路徑字符串,NSURL會追加--file :: // localhost。

在你的情況下,這可能是因爲你沒有在開始處有一個帶「/」的字符串(即:「var/test」會附加file:// localhost,如你所見,但如果將其更改爲「/ var/test」,則您將正確獲得帶有「file:// localhost/var/test」的NSURL

如果您嘗試執行相對路徑,則可以從「〜/ somelink」然後首先使用stringByExpandingTildeInPath獲取完整路徑