Background music on Windows Phone

musicwp

Bạn đang phát triển ứng dụng nghe nhạc? Và gặp phải một vấn đề, đó là khi màn hình bị lock thì nhạc cũng tắt theo. Vậy giải quyết vấn đề như thế nào? Bài này sẽ hướng dẫn các bạn cách khắc phục với Windows Phone Audio Playback Agent.

Với cách sử dụng thông thường, bạn thường set source cho MediaElement để play một bài nhạc. Như vậy sẽ gặp phải hạn chế như đã nói ở trên. Bạn cần phải cho play nhạc background mới khắc phục được, và khi màn hình lock sẽ hiện như hình trên, giống như bạn chơi nhạc trên máy rất đẹp 🙂

Ở project hiện tại, bạn nhấp chuột phải lên Solution chính, chọn add new project. Bạn chọn template tên là Windows Phone Audio Playback Agent. Khi đó VS sẽ tự động tạo tất cả các phương thức bạn không cần phải quan tâm đến.

Tiếp theo bạn cần phải add reference cho project nhạc của bạn. Trong khung add reference bạn chọn Solution > Project sẽ thấy Agent vừa tạo. Vậy là bạn có thể sử dụng, thay thế cho phần set source MediaElement là phần này:

var track = new AudioTrack(
   new Uri("abc.com/beyeu.mp3"),
   "Bé Yêu",
   "Ca Sĩ Mr",
   string.Empty,
   null,
   string.Empty,
   EnabledPlayerControls.Pause
);
BackgroundAudioPlayer.Instance.Track = track;
BackgroundAudioPlayer.Instance.Play();

Nếu có báo lỗi code không tìm thấy AudioTrack hay BackgroundAudioPlaye:

  • Bạn để con trỏ tại đó bấm Ctrl + dấu chấm. rồi enter (add reference nhanh)
  • Hoặc using dòng này: using Microsoft.Phone.BackgroundAudio;

Còn những điều thú vị ở BackgroundAudioPlayer.Instance chờ các bạn khám phá và áp dụng tốt hơn vào project của mình.

Chúc các bạn thành công!

Advertisements

One thought on “Background music on Windows Phone

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s