关闭

仿虾米音乐引导页面

标签: 引导页面视频ViewPagerandroid移动开发
891人阅读 评论(0) 收藏 举报
分类:

昨天已经写过《仿易信引导页面》,虾米音乐引导页面和易信引导页面其实是一样的,它们唯一的大区别就是易信用了一段视频,虾米音乐用了四段视频,所以我在这里简单记录一下。

首先看效果图:

这里写图片描述

与易信引导页面的区别

虾米音乐引导页面同样用的视频+ViewPager,不过它用的是四段视频,而且当手动去滑ViewPager的时候,视频会跟着切换,也就是说不同界面显示的不同视频,而且视频只轮播一遍。易信则一段视频一直无限循环播放。
而raw里面放的视频没次只能读取一个。于是我就用了下面的方法。跟随ViewPager的切换来切换视频
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                setIndicator(position);
                currentPosition = position;
                getCurrentVideo(currentPosition);//根据ViewPager位置来获取播放相应的视频
                mVideoView.start();//别忘了播放视频
                Log.i("kevin", position + "");
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });

获取相应视频代码

关键时刻,switch总是很给力。不过这只是引导页面,视频数量少。多了就要另想他法了。不过app里面也不可能放那么多大文件,多的就要网络获取了。
private void getCurrentVideo(int position) {
        switch (position) {
            case 0:
                mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.splash_1));
                break;
            case 1:
                mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.splash_2));
                break;
            case 2:
                mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.splash_3));
                break;
            case 3:
                mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.splash_4));
                break;
        }
    }

问题一

这里虽然这样设置了,你会发现运行后第一个视频是黑屏无法播放。为什么呢?因为ViewPager的轮播获取的position是从1开始的,所以不会播放第一个视频。于是就只能在初始化的时候设置第一个视频的播放情况。这里我也给出了我的方法。
mViewPager.setCurrentItem(currentPosition);
        if (currentPosition == 0) {          mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.splash_1));
            mVideoView.start();
        }

问题二

我添加的ViewPager的自动轮播,会不停的将position添加1,所以要加控制。
if (mViewPager.getCurrentItem() <= 2) {
                                                           mViewPager.setCurrentItem(mViewPager.getCurrentItem() + 1, true);
                    }
这里同样附上Demo

下载链接1:

下载链接2(github)

0
0
查看评论

Android仿虾米音乐播放器之布局介绍

正式的第一篇先讲布局,首先分析下面的图中所用的布局 侧滑用的是鸿洋大神写的侧滑控件,非常的好用,就是没有加入事件分发。代码如下,自定义的控件 public class SlidingMenu extends HorizontalScrollView { private Line...
  • u013926110
  • u013926110
  • 2015-07-15 17:31
  • 1388

iOS 类似虾米音乐侧滑动画解析(1)

类似虾米音乐侧滑动画,董事长 高晓松 CEO宋柯  CCO 何炅。提倡收费,音乐分享,CD。                           &#...
  • baidu_33735542
  • baidu_33735542
  • 2016-06-19 20:20
  • 530

Android仿虾米音乐播放器之电话和耳机监听

任何一个用户都不会希望在电话打来时,音乐依然在播放,这样或许用户马上就卸载了我们的app,另外当用户的耳机拨出时我们需要及时的停止音乐,因为拨出耳机这个动作可能不是用户主导的,或许是耳机的松动,或许是不小心,如果耳机拨出后音乐继续播放,也可能会带来不必要的麻烦。    先说电话...
  • u013926110
  • u013926110
  • 2015-07-18 21:00
  • 889

虾米音乐解析教程.

先进入首页,随便点进一首歌的首页 然后就进入一首歌的首页,就像这样: 然后右击查看一下网页源代码 然后再打开一个新网页:http://www.xiami.com/song/playlist/id/刚才获取的ID/object_name/default/object_id/0就能看到这首歌...
  • Ciy_Lei
  • Ciy_Lei
  • 2015-11-16 13:55
  • 504

Android仿虾米音乐播放器之MediaPlayer使用

MediaPlayer是Android中用来播放媒体文件的一个类,我们用其来播放音乐文件,先介绍用法。    首先MediaPlayer需要实例化对象,我们在onStratCommand中进行实例化。 private MediaPlayer player; // api...
  • u013926110
  • u013926110
  • 2015-07-16 20:49
  • 1118

我的《2014虾米音乐个人年终盘点》

2015大家新年快乐!    又到了新的一年,我还没来的及完成制定自己新一年的工作生活目标的时候,突然收到了虾米音乐发来的站内信,说已经生成了我2014年的虾米音乐个人年终盘点,说白了,就是根据之前相关的一些个人听歌数据,收集整理挖掘出了一些有意思的信息呗。哈哈,好像有点大数据的...
  • lpforever
  • lpforever
  • 2015-02-24 16:18
  • 1812

爬取虾米音乐

在网页版的虾米音乐播放器,如何下载音乐。 本次爬虫使用的语言是python3,模块是requests。笔者只是简单的示例,程序中还有许多需要改进的地方。 1、虾米音乐的播放器地址:http://www.xiami.com/play?ids=/song/playlist/id/1774747126#l...
  • qq_22821275
  • qq_22821275
  • 2017-11-23 15:21
  • 504

虾米音乐mac端应用代码注释惊现“穷逼vip”,是程序员干的

http://www.guancha.cn/industry-science/2017_11_19_435527_s.shtml 11月19日,某技术论坛出现了一篇讨论阿里旗下虾米音乐客户端的帖子,引发了网友争议。 发帖人称,虾米音乐客户端的程序员竟然称一些短期VIP客户为“穷逼”VIP...
  • aerchi
  • aerchi
  • 2017-11-20 15:39
  • 1132

Linux下的豆瓣FM音乐播放器和虾米音乐播放器

RT。给大家介绍两个我亲测可以使用的非常流行的网页音乐播放器的本地版。 A.doubanFM音乐播放器:     对于喜欢在豆瓣FM下听音乐的同学,对于打开一个网页听音乐,肯定会觉得很麻烦。这里我给大家推荐的是一个用Qt开发的Linux下的客户端,我在ubuntu 13.04 x...
  • killzero
  • killzero
  • 2013-08-25 21:01
  • 5721

用Python爬取用户虾米音乐的歌单

Python的爬虫非常简单,现在又有成熟的爬虫框架scrapy。现在,我们来用scrapy爬取自己虾米歌单上的歌曲。 通过这篇博客,你将学到: 基本的爬虫设计 模拟登陆 维持登陆状态 Xpath (中的一点皮毛233)。本文默认读者已经通过scrapy官方文档或中文版安装好了,并试过了测试用例。
  • hustqb
  • hustqb
  • 2017-08-05 12:33
  • 1901
    个人资料
    • 访问:168341次
    • 积分:2443
    • 等级:
    • 排名:第17878名
    • 原创:91篇
    • 转载:0篇
    • 译文:1篇
    • 评论:46条
    文章分类
    最新评论