第一范文网 - 专业文章范例文档资料分享平台

[毕业论文]Android在线音乐播放器设计与实现

来源:用户分享 时间:2025/5/31 11:41:44 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

西南科技大学本科生毕业论文

// 自定加载更多ListView @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // 是否是向下滚动 boolean isPullDown = firstVisibleItem > mFirstVisibleItem; if (mEnableLoad && !mIsLoading && isPullDown) { int lastVisibleItem = firstVisibleItem + visibleItemCount; // 是否滚动到了最后一条 if (lastVisibleItem >= totalItemCount - 1) { // 加载更多 onLoad(); } } mFirstVisibleItem = firstVisibleItem; } 补充说明 在线音乐需要连接网络,播放在线歌曲时会暂停本地歌曲的播放 (3) 在线音乐界面设计

图5-2在线音乐界面设计(1) 图5-3在线音乐界面设计(2)

33

西南科技大学本科生毕业论文

5.2.3 在线搜索详细设计

启动应用,点击搜索按钮,进入搜索界面,输入歌曲相关信息,如歌手名,歌曲名等,点击搜索,可以搜索相关歌曲,搜索结果以列表形式展示,点击可以播放,点击列表右侧可以分享,下载等。

(1) 在线搜索相关类详细说明

表5-5 在线搜索相关类详细说明

类名 SearchMusicActivity 父类 BaseActivity 接口 OnQueryTextListener OnItemClickListener OnMoreClickListener SearchMusicAdapter SearchView BaseAdapter LinearLayoutCompat CollapsibleActionView 搜索结果歌曲列表适配器 搜索视图 含义 在线搜索界面 (2) 在线搜索设计与实现

表5-6 在线搜索设计与实现

功能描述 接口与属性 核心代码 根据歌曲信息,如歌手名,歌曲名等检索相关歌曲 启动应用,点击搜索按钮 // SearchView的初始化 // 获得SearchView对象 SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView(); searchView.onActionViewExpanded(); // 设置搜索框hint内容 searchView.setQueryHint(getString(R.string.search_tips)); // 设置监听器 searchView.setOnQueryTextListener(this); searchView.setSubmitButtonEnabled(true); ImageView // 替换搜索按钮图标 mGoButton.setImageResource(R.drawable.ic_menu_search); // 在线搜索请求 OkHttpUtils.get().url(Constants.BASE_URL) .addParams(Constants.PARAM_METHOD, Constants.METHOD_SEARCH_MUSIC) .addParams(Constants.PARAM_QUERY, keyword) mGoButton = (ImageView) searchView.findViewById(R.id.search_go_btn); 34

西南科技大学本科生毕业论文

.build() .execute(new JsonCallback(JSearchMusic.class) { @Override public void onResponse(JSearchMusic response) { // 请求成功 mSearchMusicList.addAll(response.getSong()); mAdapter.notifyDataSetChanged(); } }); } 补充说明 搜索结果可以直接播放,分享,下载等 (3) 在线搜索界面设计

图5-4 在线搜索界面设计

5.2.4 播放控制详细设计

启动应用,底部播放控制条支持播放/暂停和下一曲快捷操作,点击播放快捷控制条,进入播放控制界面,可以查看专辑封面,歌词,调节播放进度,切换播放模式,调节音量等。

35

西南科技大学本科生毕业论文

(1) 播放控制相关类详细说明

表5-7 播放控制相关类详细说明

类名 PlayFragment 父类 BaseFragment 接口 OnClickListener OnPageChangeListener OnPageChangeListener AlbumCoverView LrcView IndicatorLayout View View LinearLayout AnimatorUpdateListener 专辑封面自定义视图 歌词自定义视图 ViewPager Indicator自定义视图 含义 播放控制界面 (2) 播放控制设计与实现

表5-8 播放控制设计与实现

功能描述 接口与属性 核心代码 对当前播放的歌曲进行详细控制,显示专辑列表和歌词 启动应用,点击底部快捷播放控制条 专辑封面控件: // 设置旋转角度和圆心 mDiscMatrix.setRotate(mDiscRotation, mDiscPX, mDiscPY); mCoverMatrix.setRotate(mDiscRotation, mCoverPX, mCoverPY); mNeedleMatrix.setRotate(mNeedleRotation, mNeedlePX, mNeedlePY); // 设置旋转半径端点坐标 mDiscMatrix.preTranslate(mDiscDX, mDiscDY); mCoverMatrix.preTranslate(mCoverDX, mCoverDY); mNeedleMatrix.preTranslate(mNeedleDX, mNeedleDY); mTopLine.setBounds(0, getTop(), getWidth(), getTop() + mTopLineHeight); // 绘制 mTopLine.draw(canvas); mCoverBorder.draw(canvas); canvas.drawBitmap(mCoverBitmap, mCoverMatrix, null); canvas.drawBitmap(mDiscBitmap, mDiscMatrix, null); canvas.drawBitmap(mNeedleBitmap, mNeedleMatrix, null); 歌词控件: // 中心Y坐标 float centerY = getHeight() / 2 + mTextSize / 2 + mAnimOffset; // 画当前行 String currStr = mLrcTexts.get(mCurrentLine); float currX = (getWidth() - mCurrentPaint.measureText(currStr)) / 2; canvas.drawText(currStr, currX, centerY, mCurrentPaint); // 画当前行上面的 for (int i = mCurrentLine - 1; i >= 0; i--) { 36

[毕业论文]Android在线音乐播放器设计与实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c57hzi0z1997l7tx29ybm0wacw0f2p400gca_10.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top