wp8 小鬼音乐 应用

  最近新换公司,没什么事情,闲的蛋疼,弄了2个小应用.(小鬼音乐,小鬼电子书)

  本篇大体谈下小鬼音乐的实现过程。

  第一,直接上效果图

 

 技术点:

  a  根据qq号码搜索对应的qq音乐  非常感谢(http://www.cnblogs.com/Xer-Lee/archive/2012/05/18/2508141.html)这篇文章,写的不错,但是获取到的歌曲url

是不能播放的,(qq音乐是要登陆了,才能获取真正播放的url),这里我使用了一个比较笨的方法(根据获取到的歌曲名和歌手再利用百度的api来获取对应的播放url)

 " http://box.zhangmen.baidu.com/x?op=12&count=1&title="+ songname + "$$" + name + "$$";

歌词:"http://geci.me/api/lyric/"+ songname="/"+name;

专辑图片:"http://geci.me/api/cover/"+aid;(aid歌曲id,获取歌词的时候可以得到)

 

b  文件的缓存技术(为减少用户使用流量) 可以参考前一篇文章http://www.cnblogs.com/xiaogui9527/archive/2013/04/26/3045326.html

 

c  动画效果,全屏查看歌词的翻转动画效果。 主要使用到 DoubleAnimation 

 

   //歌词滚动效果

   private void StroyBoradText()
        {
            sb1 = new Storyboard();
            DoubleAnimation animation1 = new DoubleAnimation();
            animation1.Duration = TimeSpan.FromSeconds(1);
            Storyboard.SetTarget(animation1, spgczs.RenderTransform);
            animation1.To = -1.5 * step;
            Storyboard.SetTargetProperty(animation1, new PropertyPath(TranslateTransform.YProperty));
            sb1.Children.Add(animation1);
            sb1.Begin();
        }

 

//全屏翻转看歌词

  bool falg = false;

  private void StroyBoradGc()        

{            

      gd.Projection = new PlaneProjection();            

      gd.Projection = new PlaneProjection() { RotationY = 0 };            

      sb = new Storyboard();            

      DoubleAnimation animation = new DoubleAnimation();            

      animation.Duration = TimeSpan.FromSeconds(1);            

      Storyboard.SetTarget(animation, gd.Projection);            

      gd.RenderTransformOrigin = new Point(0.5, 0.5);            

      Storyboard.SetTargetProperty(animation, new PropertyPath(PlaneProjection.RotationYProperty));

              sb.Children.Add(animation);            

       if (falg)            

      {                

        animation.EasingFunction = new CubicEase()

        {

          EasingMode = EasingMode.EaseOut

        };                

         animation.To = 360;                

        falg = false;            

      }            

      else            

      {                

        animation.EasingFunction = new CubicEase() { EasingMode = EasingMode.EaseOut };                

        animation.To = 0;                 falg = true;            

      }

            sb.Begin();

            sptp.Visibility = animation.To == 360 ? Visibility.Collapsed : Visibility.Visible;           

      spgczs.FontSize = animation.To == 360 ? 26 : 24;       

  }

 

 本篇先介绍小鬼音乐, 下篇在介绍小鬼电子书。

 如有错误的地方,望各位指出,积极交流!

by  小鬼 !  2013-5-2

 

 

posted on 2013-05-02 16:31  小 鬼  阅读(218)  评论(0编辑  收藏  举报

导航