uni-app 获取并显示所有本地音乐的实现方法

发布于 1周前 作者 nodeper 来自 Uni-App

uni-app 获取并显示所有本地音乐的实现方法

获取显示所有本地音乐

  • 开发环境 | 版本号 | 项目创建方式
  • — | — | —
  • uni-app | |
5 回复

https://www.jianshu.com/p/a8fdebbcd88b
使用绝对路径播放本地音乐 const innerAudioContext = uni.createInnerAudioContext(); innerAudioContext.src = ‘/storage/emulated/0/0/music/jay/0449fc38-c2bc-40.flac’; // 本地音乐文件绝对路径 innerAudioContext.play();


公司承接项目外包开发、双端(Android,iOS)原生插件开发。
为什么选择我们: 1、1000+项目开发积累,数百种商业模式开发经验,更懂您的需求,沟通无障碍。 2、一年免费技术保障,系统故障或被攻击,2小时快速响应提供解决方案落地。 3、软件开发源码定制工厂,去中间商降低成本,提高软件开发需求沟通效率。 4、纯原生开发,拒绝模板和封装系统,随时更新迭代,增加功能,无需重做系统。 5、APP定制包办软件著作权申请,30天内保证拿到软著证书,知识产权受保护。 6、中软云科技导入严谨的项目管理系统,确保项目准时交付,快速抢占市场商机。 7、软件开发费、维护费、第三方各种费用公开透明,不花冤枉钱,不玩套路。
已有大量双端插件、App、小程序、公众号、PC、移动端、游戏等案例。
行业开发经验:银行、医疗、直播、电商、教育、旅游、餐饮、分销、微商、物联网、零售等
商务QQ:1559653449 商务微信:fan-rising
7x24小时在线,欢迎咨询了解

现成的插件 支持安卓IOS 我们还有配套的音频播放插件 有需要可以联系

在uni-app中,你可以通过调用系统的媒体库API来获取本地音乐文件,并将其显示在页面上。由于uni-app并没有直接提供获取本地音乐的API,我们通常需要使用原生插件或者H5+ API来实现这一功能。这里我们将使用H5+ API中的plus.ioplus.media来获取本地音乐文件,并通过列表显示它们。

以下是一个基本的实现方法:

  1. 获取本地音乐文件: 使用plus.io.resolveLocalFileSystemURL遍历本地音乐目录,然后读取文件信息。

  2. 显示音乐列表: 将获取到的音乐信息绑定到页面的列表组件中。

首先,确保你的项目已经启用了5+ App(HBuilderX创建的uni-app项目默认支持)。

代码示例

1. 在pages/index/index.vue

<template>
  <view>
    <list>
      <list-item v-for="music in musicList" :key="music.name">
        {{ music.name }} - {{ music.fullPath }}
      </list-item>
    </list>
  </view>
</template>

<script>
export default {
  data() {
    return {
      musicList: []
    };
  },
  mounted() {
    this.getLocalMusic();
  },
  methods: {
    getLocalMusic() {
      const that = this;
      plus.io.resolveLocalFileSystemURL('_documents/', entry => {
        entry.getDirectory('Music', { create: false }, dir => {
          const reader = dir.createReader();
          reader.readEntries(entries => {
            entries.forEach(entry => {
              if (entry.isFile) {
                entry.file(file => {
                  if (file.type.startsWith('audio/')) {
                    that.musicList.push({
                      name: entry.name,
                      fullPath: file.fullPath
                    });
                  }
                });
              }
            });
          }, error => {
            console.error('Read entries error:', error);
          });
        }, error => {
          console.error('Get Music directory error:', error);
        });
      }, error => {
        console.error('Resolve URL error:', error);
      });
    }
  }
};
</script>

注意

  • 上述代码假设本地音乐存储在_documents/Music目录下,实际情况可能有所不同,你需要根据实际情况调整路径。
  • 由于文件系统访问可能涉及用户隐私,实际应用中需要处理用户授权问题。
  • 在真实项目中,你可能需要更复杂的错误处理和用户交互逻辑。
  • 路径和文件类型检查可能需要根据你的具体需求进行调整。

这个示例展示了如何通过H5+ API获取本地音乐文件并在uni-app中显示它们的基本方法。根据实际需求,你可以进一步扩展和优化这个实现。

回到顶部