当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 13 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 我的第一个带点实际用处的 shell script,随机播放子目录中的音乐
帖子发表于 : 2008-09-13 22:55 
头像

注册: 2007-09-14 21:03
帖子: 1143
地址: 浙江
送出感谢: 1
接收感谢: 1
代码:
mplayer `java -cp /home/jj/scripts/binary RandomMusicDirectory`

:lol: :lol: :lol: :lol:

代码:
import java.io.File;
import java.util.Random;
import java.util.regex.*;

public class RandomMusicDirectory {

   public static void main(String[] args) {

      Random rand = new Random(System.currentTimeMillis());
      File dir = new File("/media/JOY/music");
      File[] musicDir = dir.listFiles();

      boolean flag = true;
      String dirString = null;   
      while (flag) {
         int i = rand.nextInt(100000) % musicDir.length;
         if (musicDir[i].isDirectory()) {
            dirString = musicDir[i].getAbsolutePath() + "/*";
            flag = false;
         }
      }
      Matcher m = Pattern.compile("([\\s])").matcher(dirString); // 处理空格
      if (m.find())
         dirString = m.replaceAll("\\\\" + m.group(1));
      System.out.print(dirString);
   }
}

代码:
jj@hellojinjie:/media/JOY$ tree -d music
music
|-- Hilary.Duff.-.Artist.Karaoke.Series
|-- KristofferRagnstamSweetBills(2006)
|   `-- Cover
|-- Leona Lewis - Spirit
|-- Leona.Naess.-.[I.Tried.To.Rock.You.But.You.Only.Roll].专辑.(MP3)
|-- MusicOfTheSun
|-- The Academy Is... - Fast Times At Barrington High
|-- bandari
|-- 戴佩妮.-.[Penny].专辑.(MP3)
|-- 戴佩妮.-.[怎样].专辑.(mp3)
|-- 手机里的
|-- 未分类


_________________
Say hello to everyday!


最后由 hellojinjie 编辑于 2008-09-13 23:05,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-09-13 23:01 
头像

注册: 2007-09-14 21:03
帖子: 1143
地址: 浙江
送出感谢: 1
接收感谢: 1
:oops: :oops:
shell 还是写不来阿 ,只能来java来充数了....(java代码中目录的特殊字符的转义没弄好,只转义了空格,别的没转义)


_________________
Say hello to everyday!


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-09-13 23:23 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
java的。 :lol:


_________________
● 鸣学


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-09-13 23:24 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
-@ list, --list list
Use the file list for a playlist. The list should be in a format of filenames
followed by a line feed. Multiple -@ or --list specifiers will be ignored; only
the last -@ or --list option will be used. The playlist is concatenated with
filenames specified on the command-line to produce one master playlist. A file-
name of '-' will cause standard input to be read as a playlist.

-z, --shuffle
Shuffle playlists and files specified on the command-line. Produces a randomly-
sorted playlist which is then played through once.

man mpg321吧。


_________________
● 鸣学


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-09-14 9:08 
头像

注册: 2007-09-14 21:03
帖子: 1143
地址: 浙江
送出感谢: 1
接收感谢: 1
刚装了 mpg321 在没有任何配置的情况下(一切都是默认设置),和 mplayer 比较,音质似乎没有mplayer好..

还有我最关心的一点就是 mpg321 占用的 cpu 太多了, 同一首歌,mplayer 占用1-3%,而mpg321 占用15-20%--


_________________
Say hello to everyday!


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-09-14 10:01 
头像

注册: 2007-09-14 21:03
帖子: 1143
地址: 浙江
送出感谢: 1
接收感谢: 1
代码:
#!/bin/bash
currentTimeMillis=`date +%N`
i=`tree -dif -L 1 /media/JOY/music | wc -l`
dirCount=`expr $i - 3` #这里为什么要减3啊?
m=`expr $currentTimeMillis % $i + 2`
mplayer `tree  /media/JOY/music -dif -L 1 |head -n  $m |tail -n 1`/*

tree 少了个参数,怪不的总是出错
还是自己的这个用的爽,,,,把音乐文件夹的非法字符去掉后,一切看起来都很完美的样子


_________________
Say hello to everyday!


最后由 hellojinjie 编辑于 2008-09-18 22:01,总共编辑了 1 次

页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-09-14 11:01 

注册: 2007-10-04 15:23
帖子: 147
送出感谢: 0 次
接收感谢: 0 次
代码:
#!/bin/bash
pid=`ps -C mplayer|awk  '{print $1}' |tail -n1`
[ -n $pid ] && kill $pid ||  mplayer -shuffle 你自己的音乐文件夹/*

我把它在面板上做了个按钮,这样可以在背景里放音乐,满好弯的


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-09-14 23:18 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
mplayer -shuffle *.*

即可


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


最后由 yjcong 编辑于 2008-09-14 23:50,总共编辑了 3 次

页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-09-14 23:23 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
根据楼主的改的 Dir为musikd文件夹

代码:
#!/bin/bash

Dir=""

pl()
{
currenttime=`date +%N`
num=`expr $currenttime % $i + 2`
loo=1
for fil in *.*;do
if (( $loo == $num ));then
mplayer $fil
fi
(( loo++ ))
done
pl
}

cd $Dir
i=`ls|wc -l`
pl


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-09-15 14:19 
头像

注册: 2007-09-14 21:03
帖子: 1143
地址: 浙江
送出感谢: 1
接收感谢: 1
thanks yjcong

只是你没有处理转义字符,我的音乐文件夹本来是在win下从网上下载的,有些字符是linux不适用的,


_________________
Say hello to everyday!


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-09-18 22:29 
头像

注册: 2007-09-14 21:03
帖子: 1143
地址: 浙江
送出感谢: 1
接收感谢: 1
:D :D 还是自己的写在六楼的用的顺手


_________________
Say hello to everyday!


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2008-09-19 8:36 
头像

注册: 2008-09-18 11:35
帖子: 15
送出感谢: 0 次
接收感谢: 0 次
hellojinjie 写道:
:oops: :oops:
shell 还是写不来阿 ,只能来java来充数了....(java代码中目录的特殊字符的转义没弄好,只转义了空格,别的没转义)


原来是JAVA的啊,我说怎么看着感觉不对劲呢


_________________
Just do it.....


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 我的第一个带点实际用处的 shell script,随机播放子目录中的音乐
帖子发表于 : 2008-10-18 0:14 
头像

注册: 2007-07-05 2:48
帖子: 171
送出感谢: 0 次
接收感谢: 0 次
有这么麻烦吗?

先要cd到你想要去的目录
find . -iname '*.mp3' -o -iname '*.ogg' > list
#可以继续添加其它音频格式
然后
mplayer -shuffle -playlist list

OK!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 13 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译