• 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

  • 相关阅读:
    Android中getLocationOnScreen和getLocationInWindow 获取屏幕大小
    Android Scroller类的详细分析
    This tag and its children can be replaced by one <TextView/> and a compound drawable
    Activity生命周期之我见
    ViewPager的使用方法和实现过程
    Android提高第九篇之GridView和SQLite实现分页表格
    关闭对话框,OnClose和OnCancel
    iOS: 学习笔记, 透过Boolean看Swift(译自: https://developer.apple.com/swift/blog/ Aug 5, 2014 Boolean)
    回复有关“清理哲学上的垃圾、雾霾......”的评议
    Android图片裁剪之自由裁剪
  • 原文地址:https://www.cnblogs.com/xiaogui9527/p/3054893.html
Copyright © 2020-2023  润新知