[Windows Phone 7璀璨]北漂1.0在线歌词播放器一.项目搭建及版权声明

一.项目介绍

1.本歌词播放器 支持在线查找歌词,自动下载歌词同步显示。

2.初次下载的歌词讲存储在手机独立存储空间。

二.引用代码

1.本项目中引用了部分网上的代码,在此表示感谢。如将其商业化,请联系截取代码原作者,本案例因为Windows Phone 7的编程特殊性,引用的代码进行了大量的修改,

以适应手机平台

2.引用代码出处

2.1歌词同步显示:

出自博客园-菩提树下的杨过-

注:这个例子来自[FL车在臣](在blueidea上又名“寂寞火山”)翻译的“Animation in ActionScript3.0”一书

http://www.cnblogs.com/yjmyzz/archive/2010/04/14/1711725.html

2.2HTML解析(Windows Phone 7本身不支持GB2312)

http://www.cnblogs.com/qingci/archive/2011/11/25/2263124.html

2.3C#歌词在线下载

http://hi.baidu.com/yyq745201/blog/item/bd7dffdf272bef52cdbf1a4d.html

版权声明:以上出处因为转载过多,真实性不可考,要抓请抓原作者。嘿嘿

二.搭建运行框架

1.因为我们调用的歌曲文件为手机媒体库中的歌曲库,并且要实现播放功能,因此需在silverlight架构中加入XNA框架。

View Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Microsoft.Xna.Framework.Media;
using System.Windows.Threading;
using Microsoft.Xna.Framework;
using System.IO.IsolatedStorage;
using System.Text.RegularExpressions;
using System.Diagnostics;
using System.Windows.Media.Imaging;
using System.Windows.Resources;
// 构造函数
public MainPage()
{
InitializeComponent();
//模拟XNA架构
DispatcherTimer dt = new DispatcherTimer();
dt.Interval = TimeSpan.FromMilliseconds(33);
dt.Tick += delegate { try { FrameworkDispatcher.Update(); } catch { } };
dt.Start();
}


2.播放器播放SongCollection歌曲集合。按顺序播放

View Code
  SongCollection songs;
// 构造函数
public MainPage()
{
InitializeComponent();
//模拟XNA架构
DispatcherTimer dt = new DispatcherTimer();
dt.Interval = TimeSpan.FromMilliseconds(33);
dt.Tick += delegate { try { FrameworkDispatcher.Update(); } catch { } };
dt.Start();
}
//媒体库
MediaLibrary libary = new MediaLibrary();
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{

//如果歌曲库不为空
if (libary.Songs != null)
{
get();
}

}

void get()
{
//装载歌曲集合
songs = libary.Songs;
//根据艺术家分组排序给LISTBOX
var music = from s in songs
group s by s.Artist into newmusic
select new Group<Song>(newmusic.Key.ToString(),newmusic);
//绑定数据
SongList.ItemsSource = music;



}



原文地址:https://www.cnblogs.com/tubufeng/p/2404743.html