
正文
音乐推荐算法java代码 音乐推荐算法java代码是什么
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Java怎么实现音乐播放
java swt实现播放音乐代码如下:
public void play(String Filename)
{
try{
// 用输入流打开一音频文件
InputStream in = new FileInputStream(Filename);//FIlename 是你加载的声音文件如(“game.wav”)
// 从输入流中创建一个AudioStream对象
AudioStream as = new AudioStream(in);
AudioPlayer.player.start(as);//用静态成员player.start播放音乐
//AudioPlayer.player.stop(as);//关闭音乐播放
//如果要实现循环播放,则用下面的三句取代上面的“AudioPlayer.player.start(as);”这句
/*AudioData data = as.getData();
ContinuousAudioDataStream gg= new ContinuousAudioDataStream (data);
AudioPlayer.player.start(gg);// Play audio.
*/
//如果要用一个 URL 做为声音流的源(source),则用下面的代码所示替换输入流来创建声音流:
/*AudioStream as = new AudioStream (url.openStream());
*/
} catch(FileNotFoundException e){
System.out.print("FileNotFoundException ");
} catch(IOException e){
System.out.print("有错误!");
}
}
相关问答
Q1: qq音乐的每日推荐算法
这就是amazon发明的“喜欢这个商品的人,也喜欢某某”算法,其核心是数学中的“多维空间中两个向量夹角的余弦公式”。
例子:有3首歌放在那里,《最炫民族风》,《晴天》,《Hero》;A君,收藏了《最炫民族风》,而遇到《晴天》,《Hero》则总是跳过;B君,经常单曲循环《最炫民族风》,《晴天》会播放完,《Hero》则拉黑了;C君,拉黑了《最炫民族风》,而《晴天》《Hero》都收藏了;我们都看出来了,A,B二位品味接近,C和他们很不一样。
那么问题来了,说A,B相似,到底有多相似,如何量化?我们把三首歌想象成三维空间的三个维度,《最炫民族风》是x轴,《晴天》是y轴,《Hero》是z轴,对每首歌的喜欢程度即该维度上的坐标,
并且对喜欢程度做量化(比如: 单曲循环=5, 分享=4, 收藏=3, 主动播放=2 , 听完=1, 跳过=-1 , 拉黑=-5 )。那么每个人的总体口味就是一个向量,A君是 (3,-1,-1),B君是(5,1,-5),C君是(-5,3,3)。
我们可以用向量夹角的余弦值来表示两个向量的相似程度, 0度角(表示两人完全一致)的余弦是1, 180%角(表示两人截然相反)的余弦是-1。根据余弦公式, 夹角余弦= 向量点积/ (向量长度的叉积) = ( x1x2 + y1y2 + z1z2) / ( 跟号(x1平方+y1平方+z1平方 ) x 跟号(x2平方+y2平方+z2平方 ) )可见 A君B君夹角的余弦是0.81 , A君C君夹角的余弦是 -0.97 。
Q2: 网易云音乐的歌单推荐算法是怎样的?
“商品推荐”系统的算法( Collaborative filtering )分两大类音乐推荐算法java代码,第一类,以人为本,先找到与音乐推荐算法java代码你相似的人,然后看看他们买了什么你没有买的东西。这类算法最经典的实现就是“多维空间中两个向量夹角的余弦公式”;第二类, 以物为本直接建立各商品之间的相似度关系矩阵。这类算法中最经典是'斜率=1' (Slope One)。amazon发明了暴力简化的第二类算法,‘买了这个商品的人,也买了xxx’。我们先来看看第一类,最大的问题如何判断并量化两人的相似性,思路是这样 -- 例子:有3首歌放在那里,《最炫民族风》,《晴天》,《Hero》。A君,收藏了《最炫民族风》,而遇到《晴天》,《Hero》则总是跳过;B君,经常单曲循环《最炫民族风》,《晴天》会播放完,《Hero》则拉黑了C君,拉黑了《最炫民族风》,而《晴天》《Hero》都收藏了。我们都看出来了,A,B二位品味接近,C和他们很不一样。那么问题来了,说A,B相似,到底有多相似,如何量化音乐推荐算法java代码?我们把三首歌想象成三维空间的三个维度,《最炫民族风》是x轴,《晴天》是y轴,《Hero》是z轴,对每首歌的喜欢程度即该维度上的坐标,并且对喜欢程度做量化(比如: 单曲循环=5, 分享=4, 收藏=3, 主动播放=2 , 听完=1, 跳过=-1 , 拉黑=-5 )。那么每个人的总体口味就是一个向量,A君是 (3,-1,-1),B君是(5,1,-5),C君是(-5,3,3)。 (抱歉我不会画立体图)我们可以用向量夹角的余弦值来表示两个向量的相似程度, 0度角(表示两人完全一致)的余弦是1, 180%角(表示两人截然相反)的余弦是-1。根据余弦公式, 夹角余弦 = 向量点积/ (向量长度的叉积) = ( x1x2 + y1y2 + z1z2) / ( 跟号(x1平方+y1平方+z1平方 ) x 跟号(x2平方+y2平方+z2平方 ) )可见 A君B君夹角的余弦是0.81 , A君C君夹角的余弦是 -0.97 ,公式诚不欺我也。以上是三维(三首歌)的情况,如法炮制N维N首歌的情况都是一样的。假设我们选取一百首种子歌曲,算出了各君之间的相似值,那么当我们发现A君还喜欢听的《小苹果》B君居然没听过,相信大家都知道该怎么和B君推荐了吧。
Q3: java中我想实现用按钮来控制音乐播放与停止 下面是我的代码 但实现不了播放和停止 谁能帮我解决一下吗?
音乐推荐算法java代码我帮音乐推荐算法java代码你把程序改完了,可以实现用按钮来控制音乐播放与停止了,音乐推荐算法java代码你看看吧。
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.net.URI;
import java.net.URL;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class f extends JFrame implements ActionListener {
private static final String AudioClip = null;
private JButton Oj;
private JButton Oj1;
AudioClip clip =null;
File musicFile;
URI uri;
URL url;
private void f() throws InterruptedException{
musicFile = new File("E:\\JAVA\\new1\\celine dion - falling into you.wav");
uri = musicFile.toURI();
try {
url = uri.toURL();
} catch (Exception e) {
}
clip=Applet.newAudioClip(url);
//clip.play();
}
f() {
this.setSize(800, 600);
this.setResizable(false);
JPanel p = new JPanel();
this.setContentPane(p);
this.setVisible(true);
Oj = new JButton("开始");
Oj1 = new JButton("结束");
this.setVisible(true);
Oj.addActionListener(this);
Oj1.addActionListener(this);
this.add(Oj);
this.add(Oj1);
}
public static void main(String[] args) throws InterruptedException {
f ff=new f();
ff.f();
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == Oj) {
System.out.println("进入游戏界面");
play();
} else if (e.getSource() == Oj1) {
System.out.println("退出游戏");
stop();
//System.exit(0);
}
}
public void play() {
if (clip != null)
( (java.applet.AudioClip) clip).play();
}
public void stop() {
if (clip != null)
( (java.applet.AudioClip) clip).stop();
}
}
Q4: 谁能给我一个JAVA电子相册或音乐播放器的代码啊 急急急
我自己做过一个类似的电子相册,但功能很不够全面,给你参考下...
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class img4 extends Applet
{
static Button btn1,btn2,btn3,btn4,btn5;
public void init()
{
setBackground(Color.cyan);
setVisible(true);
setLayout(null);
img4cvs cvs=new img4cvs();
btn1=new Button("下一页");
btn2=new Button("上一页");
btn4=new Button("自动播放");
btn5=new Button("停止");
add(btn1);
add(btn2);
add(btn4);
add(btn5);
add(cvs);
btn2.setBounds(550,60,60,30);
btn1.setBounds(550,120,60,30);
btn4.setBounds(550,180,60,30);
btn5.setBounds(550,240,60,30);
cvs.setBounds(30,30,500,400);
btn1.addActionListener(cvs);
btn2.addActionListener(cvs);
btn4.addActionListener(cvs);
btn5.addActionListener(cvs);
validate();
}
class Backcolor extends Thread
{
public void run()
{int j=0;int m=0;int n=0;
while(true)
{
try{
if(j255m255n255)
{
j++;
sleep(100);
Color col1=new Color(j,m,n);
setBackground(col1); }
else if(j==255m255)
{
m++;
sleep(100);
Color col2=new Color(j,m,n);
setBackground(col2); }
else if(j==255m==255n255)
{
n++;
sleep(100);
Color col3=new Color(j,m,n);
setBackground(col3);}
else if(j==255m==255n==255)
{
j=55;
m=55;
n=55;
}
}
catch(InterruptedException e){}
}
}
}
public void start()
{
Backcolor thread2=new Backcolor();
thread2.start();
}
}
class img4cvs extends Canvas implements ActionListener
{
Image[] img;
int pg=0;
volatile boolean pleaseStop;
//String FONTS="Serif";
//String TEXT="我们很性感2!!";
img4cvs()
{
img=new Image[12];
Toolkit tl=getToolkit();
for(int i=0;i=11;i++)
{
img[i]=tl.getImage("img0"+i+".JPG");
}
}
class Play extends Thread
{
public void run()
{
while(!pleaseStop)
{
try{
pg++;
if(pg11){pg=0;}
sleep(1500);
}
catch(InterruptedException e){}
repaint();
}
}
}
public void actionPerformed(ActionEvent e)
{
Play thread=new Play();
if(e.getSource()==img4.btn1)
{
pg++;
if(pg11){pg=0;}
repaint();
}
else if(e.getSource()==img4.btn2)
{
pg--;
if(pg0){pg=11;}
repaint();
}
else if(e.getSource()==img4.btn4)
{
pleaseStop=false;
thread.start();
}
else if(e.getSource()==img4.btn5)
{
pleaseStop=true;
}
}
public void paint(Graphics g)
{
/*g.setColor(Color.black);
g.setFont(new Font(FONTS,Font.BOLD+Font.ITALIC,20));
g.drawString(TEXT,0,500);*/
g.drawImage(img[pg],0,0,500,400,this);
}
}
/*
applet code="img4.class" width=650 height=500
/applet
*/
关于音乐推荐算法java代码和音乐推荐算法java代码是什么的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








