2014-08-30 4 views
1

인터넷에서 답변을 검색했지만 찾을 수 없습니다. 나는이 메시지가 로컬 경로에서 파일을 열려고하면 : 내 오류를 설명하게로컬 경로에서 음악 파일을여시겠습니까?

Alternate stream names must begin with "app-"

내 코드 :

var itemId = ((Item)e.ClickedItem).Subtitle; 
var file = await KnownFolders.VideosLibrary.GetFileAsync("file:///" + itemId); 
var stream = await file.OpenAsync(FileAccessMode.Read); 
music.SetSource(stream, ".mp3"); 

에서 나는 이미 선언 된 비디오 라이브러리 및 음악 라이브러리 내 명백한. itemid의 부제목이 파일 경로입니다.

+0

어떤 UI 프레임 워크입니까? –

+1

당신은 왜'file : ///'을 가지고 있습니까? 그게 필요한가요? –

+3

대체 스트림은 NTFS 파일 시스템 기능입니다. 파일에 둘 이상의 데이터 스트림을 저장할 수 있습니다. 그러한 스트림의 이름은 file.ext : streamname입니다. 콜론에 유의하십시오. –

답변

0

체크 this link. 나는 당신에게

두 가지 문제를 도움이 될 수 있습니다 추측 : 당신은 또한 당신의 함수 선언에 "비동기"수정을 추가해야

GetFileFromPathAsync requires a path and since it's Async you need to Await it. 

To use a URI like ms-appx use the GetFileFromApplicationUriAsync | getFileFromApplicationUriAsync method : 

    file = Await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///programs/TextFile1.txt")) 

. 비동기 메서드에 대한 자세한 내용은 빠른 시작 : C# 또는 Visual Basic의 비동기 API 호출을 참조하십시오.

Private Async Sub Button_Tapped(sender As Object, e As TappedRoutedEventArgs) 
+0

로컬 경로 파일에 대한 URL을 원합니다 ... – Christos92

+0

'file = Await StorageFile.GetFileFromApplicationUriAsync (새 Uri ("c : //TextFile1.txt"))'와 (과) 같이 하시겠습니까? –

+0

@Ajex Jollig 나는 추가 정보를 얻습니다 : 값이 예상 범위에 들지 않습니다. 이 예외 처리기가 있으면 프로그램을 안전하게 계속할 수 있습니다. – Christos92

관련 문제