배경 오디오 응용 프로그램을 만들었고 MSDN의 아래에 언급 된 샘플 코드가 도움이되었습니다.
이것은 백그라운드 작업에서 오디오 파일을 실행하고 우리가 처리 할 이벤트를 알 수 있도록 도와줍니다. http://code.msdn.microsoft.com/windowsapps/BackgroundAudio-63bbc319
또한 포어 그라운드 작업에서 백그라운드 작업으로 데이터를 전달하는 방법과 그 반대로 데이터를 전달하는 방법에 대한 명확한 아이디어를 제공합니다.
예 : 이 응용 프로그램에서 : 배경 응용 프로그램이 포 그라운드 응용 프로그램에 메시지를 전송 선로를 변경 할 때마다 같은
ApplicationSettingsHelper.SaveSettingsValue(Constants.CurrentTrack, sender.CurrentTrackName);
if (foregroundAppState == ForegroundAppStatus.Active)
{
//Message channel that can be used to send messages to foreground
ValueSet message = new ValueSet();
message.Add(Constants.Trackchanged, sender.CurrentTrackName);
BackgroundMediaPlayer.SendMessageToForeground(message);
}
는 마찬가지로 배경 애플 리케이션은 전경 응용 프로그램에서 이벤트를 수신 할 수 있습니다
void BackgroundMediaPlayer_MessageReceivedFromForeground(object sender, MediaPlayerDataReceivedEventArgs e)
{
foreach (string key in e.Data.Keys)
{
switch (key.ToLower())
{
case Constants.AppSuspended:
Debug.WriteLine("App suspending"); // App is suspended, you can save your task state at this point
foregroundAppState = ForegroundAppStatus.Suspended;
ApplicationSettingsHelper.SaveSettingsValue(Constants.CurrentTrack, Playlist.CurrentTrackName);
break;
case Constants.AppResumed:
Debug.WriteLine("App resuming"); // App is resumed, now subscribe to message channel
foregroundAppState = ForegroundAppStatus.Active;
break;
case Constants.StartPlayback: //Foreground App process has signalled that it is ready for playback
Debug.WriteLine("Starting Playback");
StartPlayback();
break;
case Constants.SkipNext: // User has chosen to skip track from app context.
Debug.WriteLine("Skipping to next");
SkipToNext();
break;
case Constants.SkipPrevious: // User has chosen to skip track from app context.
Debug.WriteLine("Skipping to previous");
SkipToPrevious();
break;
}
}
}
나는 당신이하는 것이 좋습니다 더 잘 이해하기 위해 코드를 살펴보십시오. 그것은 나에게 시간이 좀 걸렸지 만, MSDN에서의 좋은 예입니다.
참고 : 이것은 Windows Phone 8.1 런타임 응용 프로그램 (Silverlight 제외)
에게 많은 감사를 전합니다. 이게 내 애플 리케이션을 위해 일할 것이기를 바랍니다. – alka
Hi Saqib, 이것은 백그라운드 미디어 앱에서 런타임 메시지가 미리 정의 된 것과 다릅니다. 하지만 여기서 백그라운드 작업에 텍스트 메시지를 보내야하고 그 반대도 마찬가지입니다. 이 메시지는 문자열 형식이며 매우 길 수도 있습니다. 감사. – alka
@alka 메시지가 미리 정의되어 있지 않습니다. 일반적으로 메시지를 보내려면 "전경 메시지 보내기"앱과 같은 이벤트를 사용합니다. 메시지가 길면 격리 된 저장소를 사용하여 항상 데이터를 공유 할 수 있습니다. –