0

저는 앱 개발 장면을 처음 접했고 Windows Phone 용 뮤직 플레이어를 만들고 있습니다. 문제는 로컬 뮤직 라이브러리에서 내 앱으로 음악을 가져 오려고 할 때입니다.AudioTrack 목록에 음악 파일을 추가 할 때 오류가 발생했습니다. - WP8

AudioPlaybackAgent와 재생할 음악 목록이 있습니다. 여기 목록입니다 :

public static List<AudioTrack> _playList = new List<AudioTrack> 
     { 
      new AudioTrack(new Uri("Chama os Mulekes.mp3", UriKind.Relative), 
        "Chama os Mulekes", 
        "ConeCrewDiretoria", 
        "Com os Neurônios Evoluindo", 
        new Uri("https://lh6.googleusercontent.com/-_d2oha1QzNM/UhjYxv3XsLI/AAAAAAAAAWk/QyWgG7ilTAs/s0-d/Cone-Crew-Diretoria-Com-os-neuronios-evoluindo.jpg", UriKind.Absolute)) 
     }; 

내가 클릭 할 때 해당 재생 목록에 로컬 음악 라이브러리 파일을 수입하는 인터페이스에 버튼을 추가했습니다. 여기에 코드입니다 :

private async void ImportButton_Click(object sender, RoutedEventArgs e) 
     { 
      var musicLibrary = await KnownFolders.MusicLibrary.GetFilesAsync(); 
      foreach (StorageFile _file in musicLibrary) 
      { 
       var musicTags = await _file.Properties.GetMusicPropertiesAsync(); 
       MusicPlusAgent.AudioPlayer._playList.Add 
        (new AudioTrack (new Uri(_file.Path, UriKind.RelativeOrAbsolute), 
         musicTags.Title, 
         musicTags.Artist, 
         musicTags.Album, 
         null)); 
      } 
     } 

응용 프로그램을 실행하고 재생 버튼을 터치 프리셋 음악을 잘 연주,하지만 난 가져 오기 버튼을 응용 프로그램 충돌을 터치하면. 여기에 무슨 문제가 있습니까?

ps. 나쁜 영어에 대해 유감스럽게 생각합니다.

답변

0

Windows Phone BackgroundAudioPlayer API는 WinRT StorageFolder API보다 선행하므로 이러한 유형의 파일에서는 작동하지 않지만 (back-compat에서는 계속 사용할 수 있습니다). BackgroundAudioPlayer (따라서 AudioTrack)은 로컬 격리 저장소 폴더에서 HTTP URL과 파일을 재생하도록 설계되었습니다. 자세한 내용은 this MSDN walkthrough을 참조하십시오.

자신의 백그라운드 오디오 플레이어를 구현하는 데 XNA 기반 MediaLibrary API를 사용할 수 없습니다. 사용자가 내장 된 음악 플레이어를 사용하여 해당 파일을 재생한다고 가정합니다.

+0

답장을 보내 주셔서 감사합니다. 나는 훨씬 더 기능적 일 수 있으므로 WP8.1 용으로이 응용 프로그램을 다시 작성했습니다. –