WeChat ミニプログラム開発事例 音楽プレーヤー
おすすめページ
タイトルバーが完成したら、mainView=1のときに表示されるページであるおすすめページを書き始めます。
図 10-2 に示すように、レコメンデーション ページは、上部のカルーセル コンポーネント (バナー) と下部のラジオ リストの 2 つの部分で構成されます。
このページを完成させるために、まずネットワーク リクエストによって返されるデータ形式を見てみましょう。
ここではオープンソース データが使用されています:
http://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg
API インターフェースの章の内容を参照して、services フォルダーに music.js ファイルを作成し、書き込みを開始します。 ネットワーク リクエスト コード:
// 获取首页的音乐数据 function getRecommendMusic(callback){ //请求所需数据 var data = { g_tk: 5381, uin: 0, format: 'json', inCharset: 'utf-8', outCharset: 'utf-8', notice: 0, platform: 'h5', needNewCode: 1, _: Date.now() }; wx.request({ //地址 url: 'http://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg', //数据 data: data, //表示返回类型为JSON header: { 'Content-Type': 'application/json' }, success: function (res) { if (res.statusCode == 200) { callback(res.data) } else { } } }); } module.exports = { getRecommendMusic:getRecommendMusic } 复制代码 通过这个请求,返回json格式的数据样式为: { "code": 0, "data": { "slider": [ { "linkUrl": "http://share.y.qq.com/l?g=2766&id=1842365&g_f=shoujijiaodian", "picUrl": "http://y.gtimg.cn/music/photo_new/T003R720x288M000002QUG1D0iCyQM.jpg", "id": 8642 }, { "linkUrl": "http://y.qq.com/live/zhibo/0214liwen.html", "picUrl": "http://y.gtimg.cn/music/photo_new/T003R720x288M000003KFpsf1mPzlY.jpg", "id": 8645 }, { "linkUrl": "http://v.qq.com/live/p/topic/22876/preview.html", "picUrl": "http://y.gtimg.cn/music/photo_new/T003R720x288M000000ZZAWw1KsyoJ.jpg", "id": 8653 }, { "linkUrl": "http://y.qq.com/m/act/singer/index.html?ADTAG=shoujijiao", "picUrl": "http://y.gtimg.cn/music/photo_new/T003R720x288M000001MG8W3200tuD.jpg", "id": 8609 }, { "linkUrl": "http://y.qq.com/w/album.html?albummid=0035hOHV0uUWA9", "picUrl": "http://y.gtimg.cn/music/photo_new/T003R720x288M000000cfVE83KCkmz.jpg", "id": 8607 } ], "radioList": [ { "picUrl": "http://y.gtimg.cn/music/photo/radio/track_radio_199_13_1.jpg", "Ftitle": "热歌", "radioid": 199 }, { "picUrl": "http://y.gtimg.cn/music/photo/radio/track_radio_307_13_1.jpg", "Ftitle": "一人一首招牌歌", "radioid": 307 } ], "songList": [] } }
ここのコードは、リクエストが成功したかどうかを示します。これが 0 に等しい場合、リクエストが成功したことを意味します。データは必要なデータであり、3 つの部分が含まれています。最初の 2 つ、つまり、カルーセル コンポーネントのデータを提供するスライダー 部分と、ラジオ局リストのデータを提供する radioList 部分を使用する必要があります。 これら 2 つの部分はそれぞれ配列形式で保存され、対応するデータは名前によって取得できます。
データを取得したら、データを表示するコンポーネントの作成を開始します。
<view hidden="{{currentView != 1}}"> <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}"> <block wx:for="{{slider}}" wx:key="unique"> <swiper-item data-id="{{item.id}}"> <image src="{{item.picUrl}}" style="height:100%" class="slide-image" /> </swiper-item> </block> </swiper> <view class="channel"> <text class="channel-title">电台</text> <view class="radio-list"> <block wx:for="{{radioList}}" wx:key="unique"> <view class="radio-item" data-id="{{item.radioid}}" data-ftitle="{{item.Ftitle}}" bindtap="radioTap"> <image class="radio-img" mode="aspectFit" style="height:167.5px;" src="{{item.picUrl}}" /> <text class="radio-text">{{item.Ftitle}}</text> </view> </block> </view> </view> </view> 复制代码 最外层使用view组件包裹,当currentView!=1时隐藏。 轮播组件使用swiper组件来完成,设置是否显示指示点,是否自动播放,切换间隔以及滑动时间4个属性。每个swiper-item为图片,使用item.picUrl从slider里获取数据。 电台部分使用列表格式,数据保存在radioList内。每个item包涵两个部分:图片和标题,以item.picUrl和item.Ftitle保存,此外还要保存每个item的ID(item.radioid)用于页面跳转。点击的响应事件定义为radioTap。 至此我们需要的数据有:indicatorDots,autoplay,interval,duration,slider,radioList。我们把这些加入到index.js中的data里吧。 //引用网络请求文件 var MusicService = require('../../services/music'); //获取应用实例 var app = getApp() Page({ data: { indicatorDots: true, autoplay: true, interval: 5000, duration: 1000, radioList: [], slider: [], mainView: 1, }, onLoad: function () { var that = this; MusicService.getRecommendMusic(that.initPageData); }, })
データが書き込まれた後、onLoad で作成したネットワーク リクエスト関数を呼び出します。リクエストは成功しました。実行する必要がある関数。この関数では、配列 radioList と slider に値を割り当てます。
initPageData: function (data) { var self = this; //请求成功再赋值,需要判断code是否为0 if (data.code == 0) { self.setData({ slider: data.data.slider, radioList: data.data.radioList, }) } }, 复制代码 到此为止我们的页面应该可以显示数据了,最后一步我们要给写好的view添加点击事件radioTap,让用户点击后跳转到play(音乐播放)页面。 radioTap: function (e) { var dataSet = e.currentTarget.dataset; ... },
ジャンプするときは、取得したラジオイドを通じてネットワークにデータをリクエストし、曲リストを返し、このリストを再生ページにロードする必要があります。この部分は音楽再生ページに任せて完了します。
以上がWeChat ミニプログラム開発事例 音楽プレーヤーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











VLC Chromecast 機能が Windows PC で動作しませんか? この問題は、Chromecast デバイスと VLC のキャスト機能の間の互換性の問題が原因である可能性があります。この記事では、この状況でできることと、VLC レンダラーが Chromecast を見つけられない場合の対処法について説明します。 Windows で ChromecastVLC を使用する方法 VLC を使用して Windows から Chromecast にビデオをキャストするには、次の手順に従います: メディア プレーヤー アプリを開き、再生メニューに移動します。 [レンダラー] オプションに移動すると、Chromecast デバイスが検出されたことが確認できます。

Windows 10v1809 の 10 月更新バージョンは、ためらうことなく史上最悪の Windows アップグレードに向かっています。最初の正式リリース後に緊急に取り下げられただけでなく、1 か月間再構築された後も依然としてバグが満載であり、人々は Microsoft の品質を疑っていますますます心配になってきます。さて、リストにはもう 1 つのバグがあります。今回は Microsoft 独自のメディア プレーヤーである Windows Media Player です。最近、一部のネチズンは、最新のパッチをインストールした後、Windows 10v1809 の Windows Media Player で再生プログレス バーをドラッグできないという問題が発生したと報告しました。解決策はまだ見つかっていません。 Microsoft は KB4 の 2 つのパッチに関連するバグを確認しました

モバイル インターネット技術とスマートフォンの普及により、WeChat は人々の生活に欠かせないアプリケーションになりました。 WeChat ミニ プログラムを使用すると、アプリケーションをダウンロードしてインストールすることなく、ミニ プログラムを直接使用して、いくつかの簡単なニーズを解決できます。この記事では、Python を使用して WeChat アプレットを開発する方法を紹介します。 1. 準備 Python を使用して WeChat アプレットを開発する前に、関連する Python ライブラリをインストールする必要があります。ここでは、wxpy と itchat の 2 つのライブラリを使用することをお勧めします。 wxpy は WeChat マシンです

ミニプログラムはreactを利用することができます 使い方: 1. 「react-reconciler」に基づいてレンダラーを実装し、DSLを生成します; 2. DSLを解析してレンダリングするためのミニプログラムコンポーネントを作成します; 3. npmをインストールし、開発者ビルドを実行しますツール内の npm; 4. パッケージを独自のページに導入し、API を使用して開発を完了します。

WeChat ミニ プログラムでのカードめくり効果の実装 WeChat ミニ プログラムでは、カードめくり効果の実装は、ユーザー エクスペリエンスとインターフェイス インタラクションの魅力を向上させることができる一般的なアニメーション効果です。以下では、WeChat アプレットでカードめくりの特殊効果を実装する方法と、関連するコード例を詳しく紹介します。まず、ミニ プログラムのページ レイアウト ファイルに 2 つのカード要素を定義する必要があります。1 つは前面のコンテンツを表示するため、もう 1 つは背面のコンテンツを表示するためです。具体的なサンプル コードは次のとおりです: <!--index.wxml- ->&l

10月31日の当サイトのニュースによると、今年5月27日、アント・グループは「漢字拾いプロジェクト」の立ち上げを発表し、最近新たな進展を迎えた:アリペイが「漢字拾い-珍しい文字」ミニプログラムを開始協会からコレクションを収集する レア文字は、レア文字ライブラリを補完し、アリペイでのレア文字入力方法の改善に役立つように、レア文字に異なる入力エクスペリエンスを提供します。現在、ユーザーは「漢字ピックアップ」「珍文字」などのキーワードで検索することで「珍文字」アプレットに入ることができる。ミニプログラムでは、ユーザーがシステムで認識・入力されなかった珍しい文字の画像を送信し、確認後、Alipay のエンジニアがフォントライブラリに追加エントリを作成します。当サイトでは、発音が不明瞭な珍しい単語を対象とした最新の単語分割入力方法をミニプログラムで体験できることに注目しました。ユーザー解体

コンピューターの使用率が高くなるにつれて、HEVC ビデオの再生に Win10 システムで料金が発生する状況に遭遇することがありますが、この状況にどう対処すればよいでしょうか?以下のエディターで詳細を見てみましょう。現在、HEVC を使用してエンコードされるビデオが増えています。これは、特に 4K ビデオで一般的です。画質を向上させ、サイズを削減するために、1080p ビデオも HEVC で高度にエンコードされています。Win10 ビデオ プレーヤーは、デフォルトでは HEVC をサポートしていません。その使用に影響します。 HEVC エンコードのサポートがないことは、ビデオの再生に影響するだけでなく、画像を開く際にも影響します。 iPhone などの新しい携帯電話の多くが画像の保存に HEIF 形式を使用していることは知られていますが、実際、HEIF 画像は HEVC ビデオでエンコードされた画像とみなすことができます。

iframe 埋め込みプレーヤーは、Web ページにビデオプレーヤーを埋め込む技術です。埋め込みプレーヤーの利点は次のとおりです: 1. iframe タグを使用することで、柔軟性があり、さまざまなソースからのビデオ メディアを同じ Web ページに埋め込むことができます; 2. 使いやすさ、埋め込みコードをコピーして貼り付けるだけで再生できます。 Webページに追加; 3. パラメータの設定によりプレーヤーの外観や動作を制御可能; 4. JavaScriptなどを使用してプレーヤーの動作を制御可能
