我对编程非常陌生,如果这是一个非常愚蠢的问题,我很抱歉。我有一个表与列-音频(Blob),标题和艺术家的名字。我希望用户能够播放歌曲,如果他们按下音频单元,然后播放按钮。我很难尝试引用保存音频的特定列行。这是我一直试图学习的链接,但我什么也得不到。How can I determine which cell in a JTable was selected?.如何引用这些项,以便在单击第1行时从该文件中提取音频,以便它可以播放?我会编写一个for循环吗?我知道如何播放这首歌,我只是不能让它引用索引本身。英语不是我的第一语言,如果没有很好地解释,我很抱歉。
编辑:
`JTable table;
File sound;
AudioInputStream ais;
Clip clip;
table.addMouseListener(new java.awt.event.MouseAdapter() {
@Override
public void mouseClicked(java.awt.event.MouseEvent evt) {
try{
int row = table.getSelectedRow();
String selectedItem=(String) table.getValueAt(row,0);
sound= new File(selectedItem);
ais= AudioSystem.getAudioInputStream(sound);
clip= AudioSystem.getClip();
clip.open(ais);
clip.start();
}
catch(Exception exp ){
JOptionPane.showMessageDialog(null, exp);
}
}});
当我单击行时,我想让它播放这首歌,但得到的却是一个fileNotFoundException。提取文件的方法不正确吗?
1条答案
按热度按时间owfi6suc1#
我就是不能让它引用索引本身。
我不明白问题出在哪里。
你可以从另一个帖子中看到你可以使用:
您将数据加载到表中,您知道哪一列包含要播放的歌曲的文件名,因此您只需执行以下操作:
我知道怎么弹这首歌
然后你播放这首歌。