花潮论坛

搜索
热搜: 活动 交友 discuz
楼主: 马黑黑

播放多个本地音频文件的响应式频谱播放器(2.5更新)

[复制链接]
  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-1-28 18:28 | 显示全部楼层
    花飞飞 发表于 2025-1-28 16:30
    响应式把音频可视化了,越是美妙的音乐,看着越好看

    你可以试试播放多一点音乐
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-1-28 18:39 | 显示全部楼层
    本帖最后由 马黑黑 于 2025-1-28 18:42 编辑

    1月28日更新:播放器界面可加入来自网络资源的图片背景,若加入成功,下次打开本帖第一页播放器UI会自动使用所添加的背景图片。

    说明:图片应使用来自网络的URL地址。若需要使用本地图片,需要将代码存为本地HTML文档并运行它,然后地址这么处理——


    假设图片是  d:\图片\2025\3.jpg

    需要写成:

    d:\\图片\\2025\\3.jpg

    就是,每一个反斜杠 \ 都成双出现即可

    评分

    参与人数 1威望 +50 金钱 +100 经验 +50 收起 理由
    红影 + 50 + 100 + 50 赞一个!

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-11-17 10:56
  • 签到天数: 1050 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2025-1-28 22:32 | 显示全部楼层
    马黑黑 发表于 2025-1-28 12:34
    我们的态度不仅仅出自私情,更重要的是为了世界和平。战争不能解决问题,只会带来混乱

    让他们折腾吧,等着捡漏 的人不少呢。
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-11-17 10:56
  • 签到天数: 1050 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2025-1-28 22:33 | 显示全部楼层
    马黑黑 发表于 2025-1-28 12:39
    这个主打简单方便,下一步是可以更换背景并记忆下来

    黑黑太厉害了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-1-28 22:54 | 显示全部楼层

    现在可以设置背景图了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-1-28 22:54 | 显示全部楼层
    红影 发表于 2025-1-28 22:32
    让他们折腾吧,等着捡漏 的人不少呢。

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-1-28 23:01 | 显示全部楼层
    代码:1月28日更新

    1. <style>
    2. /* 父元素 */
    3. #papa {
    4.         margin: 30px auto 0;
    5.         padding: 10px;
    6.         width: 740px;
    7.         height: 400px;
    8.         font-size: 16px;
    9.         background: linear-gradient(to bottom right, #000, #ffc);
    10.         box-shadow: 3px 6px 20px #000;
    11.         border-radius: 6px;
    12.         display: grid;
    13.         place-items: center;
    14.         position: relative;
    15. }

    16. /* 选择本地音乐父元素 */
    17. #openFile {
    18.         position: absolute;
    19.         left: 15px;
    20.         top: 15px;
    21.         width: calc(100% - 30px);
    22. }

    23. /* 选择音乐控件 */
    24. #mfile { display: none; }

    25. /* 选择音乐按钮 */
    26. #selectSong {
    27.         margin-right: 8px;
    28.         border: 2px solid #ccc;
    29.         border-radius: 6px;
    30.         outline: none;
    31.         background: none;
    32.         color: snow;
    33.         cursor: pointer;
    34. }

    35. /* 背景图片地址栏 */
    36. #bgurl {
    37.         position: absolute;
    38.         right: 0;
    39.         display: none;
    40. }

    41. #openFile:hover #bgurl {
    42.         display: inline;
    43. }

    44. /* 选择音乐按钮指针经过 */
    45. #selectSong:hover { background: darkred; }

    46. /* 当前播放曲目 */
    47. #curSong { color: #eee; }

    48. /* 播放器 */
    49. #mplayer {
    50.         --bg1: teal;
    51.         --bg2: snow;
    52.         --ppLen: 4px;
    53.         --prog: white;
    54.         --track: silver;
    55.         --prg: 0%;
    56.         --ppCap: white;
    57.         position: absolute;
    58.         right: 180px;
    59.         width: 100px;
    60.         height: 100px;
    61.         border-radius: 50%;
    62.         background: linear-gradient(
    63.                 to right,
    64.                 var(--prog) var(--prg),
    65.                 var(--track) var(--prg),
    66.                 var(--track) 0
    67.         ) no-repeat 0 50% / 100% 2px;
    68.         cursor: pointer;
    69.         display: grid;
    70.         place-items: center;
    71. }

    72. /* 播放器指针经过 */
    73. #mplayer:hover {
    74.         filter: hue-rotate(90deg) drop-shadow(0 0 26px black);
    75. }

    76. /* 播放器伪元素 :音频时间信息 */
    77. #mplayer::before, #mplayer::after {
    78.         position: absolute;
    79.         color: snow;
    80. }

    81. /* 播放器伪元素一 :当前播放时间 */
    82. #mplayer::before {
    83.         content: attr(data-cu);
    84.         top: 20%;
    85. }

    86. /* 播放器伪元素二 :音频时长 */
    87. #mplayer::after {
    88.         content: attr(data-du);
    89.         top: 56%;
    90. }

    91. /* 频谱条 */
    92. .pp {
    93.         position: absolute;
    94.         left: calc(50% - 2px);
    95.         bottom: 50%;
    96.         width: var(--ppLen);
    97.         height: 20px;
    98.         background: linear-gradient(to top, var(--bg1), var(--bg2));
    99.         transform-origin: 50% 100%;
    100.         transform: rotate(var(--deg)) translate(-50px, 0);
    101.         display: grid;
    102.         place-items: center;
    103. }

    104. /* 频谱条伪元素 :频谱帽 */
    105. .pp::after {
    106.         position: absolute;
    107.         content: '';
    108.         width: calc(var(--ppLen) + 4px);
    109.         height: calc(var(--ppLen) + 4px);
    110.         top: 0px;
    111.         background: var(--bg2);
    112.         border-radius: 50%;
    113. }

    114. /* 音乐列表 */
    115. #mlist {
    116.         position: absolute;
    117.         left: 20px;
    118.         top: 60px;
    119.         min-width: 40%;
    120.         max-width: 50%;
    121.         min-height: 20%;
    122.         max-height: calc(100% - 80px);
    123.         color: silver;
    124.         font-size: 14px;
    125.         line-height: 20px;
    126.         overflow: auto;
    127. }

    128. /* 音乐列表项目一 :待播放曲目 */
    129. .list1 { cursor: pointer; }

    130. /* 音乐列表项目二 :正在播放曲目 */
    131. .list2 {
    132.         color: cyan;
    133.         cursor:default;
    134. }

    135. /* 音乐列表项目一指针经过 */
    136. .list1:hover { color: white; }
    137. </style>

    138. <div id="papa">
    139.         <div id="openFile">
    140.                 <input id="selectSong" type="button" value="选择音乐" />
    141.                 <input type="file" id="mfile" accept=".mp3,.ogg,.wav,.acc,.webm" multiple />
    142.                 <span id="curSong"></span>
    143.                 <input id="bgurl" type="text" placeholder="背景 : 网络图片地址" value="" />
    144.         </div>
    145.         <div id="mplayer" class="mplayer"></div>
    146.         <div id="mlist"></div>
    147.         <audio id="aud"></audio>
    148. </div>
    149. <p style="text-align:right"><br>更新 :2025年1月28日 &nbsp;&nbsp;&nbsp;<br></p>

    150. <script>

    151. //选择的文件, 播放列表, 波形数据, 频谱
    152. let files=[], playAr = [], output = [], pps = [];
    153. //打开文件次数, 频谱条总数
    154. let openIdx = 0, total = 30;

    155. //获取波形数据
    156. const getDatas = () => {
    157.         if(openIdx > 0) return;
    158.         openIdx ++;
    159.         Ac = new AudioContext;
    160.         source = Ac.createMediaElementSource(aud);
    161.         analyser = Ac.createAnalyser();
    162.         source.connect(analyser);
    163.         analyser.connect(Ac.destination);
    164.         output = new Uint8Array(total);
    165. };

    166. //生成频谱条
    167. Array(total).fill(0).forEach((_, k) => {
    168.         let pp = document.createElement('span');
    169.         pp.className = 'pp';
    170.         pp.style.cssText += `--deg: ${360 / total * k}deg`;
    171.         mplayer.appendChild(pp);
    172.         pps.push(pp);
    173. });

    174. //波形数据刷新
    175. (function update() {
    176.         if(aud.src) analyser.getByteFrequencyData(output);
    177.         for(let j = 0; j < total ; j++) {
    178.                 pps[j].style.height = output[j] / 2 + 'px';
    179.         }
    180.         window.requestAnimationFrame(update);
    181. })();

    182. //播放 :idx为空时随机播放
    183. const mplay = (idx = null) => {
    184.         if(files.length === 0) return;
    185.         let isScrolling = false;
    186.         if(idx === null) {
    187.                 if(playAr.length === 0) playAr = ranNum(files.length);
    188.                 let tmpIdx = Math.floor(Math.random() * playAr.length);
    189.                 idx = playAr[tmpIdx];
    190.                 playAr.splice(tmpIdx, 1);
    191.                 isScrolling = true;
    192.         }
    193.         aud.src = URL.createObjectURL(files[idx]);
    194.         let name = files[idx].name;
    195.         curSong.innerText = name.substring(0, name.lastIndexOf('.')) + `(${files.length}/${idx+1})`;
    196.         aud.play();
    197.         mlist.innerHTML = showList(files, idx);
    198.         if(isScrolling) mlist.scrollTop = 20 * idx; //scrolling(20, idx);
    199. };

    200. //显示音乐列表
    201. const showList = (ar, idx) => {
    202.         let res = '';
    203.         for(let j = 0; j < ar.length; j ++) {
    204.                 let item = (j + 1) + '. ';
    205.                 item += j === idx ?
    206.                         `<span class="list2">${ar[j].name}</span>` :
    207.                         `<span class="list1" onclick="mplay(${j})">${ar[j].name}</span>`;
    208.                 res += item + '<br>';
    209.         }
    210.         return res;
    211. };

    212. //生成不重复随机数组
    213. const ranNum = (total) => {
    214.         let ar = Array(total).fill().map((_,key) => key);
    215.         ar.sort(() => 0.5 - Math.random());
    216.         return ar;
    217. };

    218. //秒转分
    219. const s2m = (seconds) => {
    220.         if (!seconds) return '00:00';
    221.         let min = parseInt(seconds / 60), sec = parseFloat(Math.floor(seconds) % 60);
    222.         if(min < 10) min = '0' + min;
    223.         if(sec < 10) sec = '0' + sec;
    224.         return min + ':' + sec;
    225. };

    226. //判断进度条区域
    227. const innerH = (e, h) => e.offsetY > h / 2 - 5 && e.offsetY < h / 2 + 5;

    228. //audio timeupdate监听事件
    229. aud.addEventListener('timeupdate', () => {
    230.         mplayer.style.setProperty('--prg', aud.currentTime / aud.duration * 100 + '%');
    231.         mplayer.dataset.cu = s2m(aud.currentTime);
    232.         mplayer.dataset.du = s2m(aud.duration);
    233. });

    234. //单曲播放结束
    235. aud.addEventListener('ended',() => mplay());

    236. //选择歌曲
    237. selectSong.onclick = () => mfile.click();

    238. //文件选择器改变
    239. mfile.onchange = () => {
    240.         let filelist = mfile.files;
    241.         if(filelist.length === 0) return;
    242.         files.length = 0;
    243.         for(let j = 0; j < filelist.length; j ++) {
    244.                 files.push(filelist[j]);
    245.         }
    246.         playAr = ranNum(files.length);
    247.         mplay();
    248.         getDatas();
    249. }

    250. //播放器点击
    251. mplayer.onclick = (e) => {
    252.         if(files.length < 1) return;
    253.         if(innerH(e,mplayer.clientHeight)) {
    254.                 aud.currentTime = aud.duration * e.offsetX / mplayer.offsetWidth;
    255.         }else{
    256.                 aud.paused ? aud.play() : aud.pause();
    257.         }
    258. };

    259. //播放器鼠标移过
    260. mplayer.onmousemove = (e) => {
    261.         mplayer.title = innerH(e,mplayer.clientHeight) ?
    262.                 s2m(aud.duration * e.offsetX / mplayer.offsetWidth) :
    263.                 (aud.paused ? '点击播放' : '点击暂停');
    264. };

    265. bgurl.oninput = () => {
    266.         let img = new Image(), src = bgurl.value.trim();
    267.         img.src = src;
    268.         img.onload = () => {
    269.                 papa.style.cssText += `background: url(${src}) no-repeat center/cover;`;
    270.                 localStorage.setItem('player_url', src)
    271.         };
    272. };

    273. const player_url = bgurl.value = localStorage.getItem('player_url');
    274. if(player_url) papa.style.cssText += `background: url(${player_url}) no-repeat center/cover;`;

    275. </script>
    复制代码


    评分

    参与人数 1威望 +30 金钱 +60 经验 +30 收起 理由
    花飞飞 + 30 + 60 + 30 很给力!

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-1-28 23:22 | 显示全部楼层
    马黑黑 发表于 2025-1-28 18:28
    随机播放是主调。播放器的生命周期内,可以手动播放列表中的任意音频资源

    还有个生命周期。。。只要代码可以运行它就可以的吧。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-1-28 23:22 | 显示全部楼层
    马黑黑 发表于 2025-1-28 18:28
    你可以试试播放多一点音乐

    选了十四首,我存的音乐的全部。。没有翻页。。
    下回多下点
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-1-28 23:24 | 显示全部楼层
    马黑黑 发表于 2025-1-28 18:39
    1月28日更新:播放器界面可加入来自网络资源的图片背景,若加入成功,下次打开本帖第一页播放器UI会自动使 ...

    这个双层反斜杠到是不陌生。等会试试
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-1-28 23:31 | 显示全部楼层
    马黑黑 发表于 2025-1-28 23:01
    代码:1月28日更新

    这个代码好详细,每一部分都有说明,一目了然。。
    关键的关键,我用一张刚完成的作品当背景,它成了一个作品。。而且可以改为我的图片大小。。
    惊艳了。。。
    这个背景添加,效果太棒了。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-1-28 23:32 | 显示全部楼层
    添加背景只要鼠标点在画面上,就有框出来可以粘贴地址。。。
    根本不需要到代码里更改。。
    这个操作小白给点三十二个赞
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-1-29 00:02 | 显示全部楼层
    花飞飞 发表于 2025-1-28 23:32
    添加背景只要鼠标点在画面上,就有框出来可以粘贴地址。。。
    根本不需要到代码里更改。。
    这个操作小白给 ...

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-1-29 00:03 | 显示全部楼层
    花飞飞 发表于 2025-1-28 23:31
    这个代码好详细,每一部分都有说明,一目了然。。
    关键的关键,我用一张刚完成的作品当背景,它成了一个 ...

    这个是简单的功能,类似于换肤但没有换肤的全面,只是设置个背景图片
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-1-29 00:04 | 显示全部楼层
    花飞飞 发表于 2025-1-28 23:24
    这个双层反斜杠到是不陌生。等会试试

    整站是三层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-1-29 00:04 | 显示全部楼层
    花飞飞 发表于 2025-1-28 23:22
    还有个生命周期。。。只要代码可以运行它就可以的吧。。

    就是指打开后直到关闭
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-1-29 00:06 | 显示全部楼层
    花飞飞 发表于 2025-1-28 23:22
    选了十四首,我存的音乐的全部。。没有翻页。。
    下回多下点

    喜欢做音画帖的应该在本地磁盘存多一些歌曲
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-1-29 10:47 | 显示全部楼层

    喝白的,碰一个
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-1-29 10:48 | 显示全部楼层
    马黑黑 发表于 2025-1-29 00:03
    这个是简单的功能,类似于换肤但没有换肤的全面,只是设置个背景图片

    有音画有画面,它就是个完美的贴子。我把它转走了哈。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-8-5 16:33
  • 签到天数: 44 天

    [LV.5]常住居民I

    62

    主题

    1万

    回帖

    2万

    积分

    贵宾

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女流光溢彩优雅神秘花潮贵宾

    发表于 2025-1-29 10:49 | 显示全部楼层

    我说我怎么没用到这个双层斜杠,原来我用的是网络图片。。
    本地图片才需要添加双杠
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2025-11-30 16:20 , Processed in 0.081093 second(s), 24 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表