MP3播放器(java实现)

上传者: wuyupengwoaini | 上传时间: 2022-11-11 15:57:10 | 文件大小: 6.88MB | 文件类型: RAR
实验三 模拟实现一个多功能电子设备,它既能播放mp3歌曲,同时还能够借助播放器的界面来监测脉动。 1.这个设备有一个屏幕,屏幕上可以显示两种界面: 界面1是显示视图,有一个进度条,可以显示当前所播放音乐的节拍或是脉动,以节拍为例,比如是100 BPM 还是 120BPM(BPM是节拍的度量单位)。还有一个文本,显示“Current BPM: xxx”. 界面2是控制视图,上面的控件有: 1)有一个菜单条,上面有一个菜单,菜单里有“start”、“stop”和“quit”命令。 2)有一个输入框,旁边的文本为"Enter BPM:",可以在输入框内容输入特定的节拍。 3)有一个“set”按钮,可以改变每分钟的节拍数。 4)还有两个微调箭头按钮“<<”和“>>”,使用这两个按钮可以微调节拍的值。 注意,选择“start”开始产生节拍,选择“stop”停止产生节拍。在选择开始产生节拍时,stop都应该是无效的,但是节拍产生后,start应该是无效的。 2.该设备配有一个控制器,控制mp3播放,存储播放歌曲的数据和节拍状态,并包含播放mp3的逻辑。 3.该设备还可以监测脉动。 4.在播放MP3时,在界面2上调整节拍后,会调整mp3播放器歌曲的节拍,同时界面1上显示出当前歌曲的节拍状态。 5.在做监测脉动时,屏幕界面2上所有的设置按钮都是无效的,因为我们不能去设置脉动。 总之,希望界面可以复用,希望模型数据的变化能够反映到界面上 看看能不能使用观察者模式、策略模式、适配模式,另外设计时将界面显示view、控制controler、模型model分开

文件下载

资源详情

[{"title":"( 44 个子文件 6.88MB ) MP3播放器(java实现)","children":[{"title":"jmf-2_1_1e-windows-i586.exe <span style='color:#111;'> 4.98MB </span>","children":null,"spread":false},{"title":"说明.txt <span style='color:#111;'> 70B </span>","children":null,"spread":false},{"title":"MP3Player","children":[{"title":"bin","children":[{"title":"com","children":[{"title":"play","children":[{"title":"test$1.class <span style='color:#111;'> 1.68KB </span>","children":null,"spread":false},{"title":"Controlcs.class <span style='color:#111;'> 1.55KB </span>","children":null,"spread":false},{"title":"MP3Model.class <span style='color:#111;'> 4.95KB </span>","children":null,"spread":false},{"title":"AdapterModel.class <span style='color:#111;'> 2.03KB </span>","children":null,"spread":false},{"title":"test.class <span style='color:#111;'> 519B </span>","children":null,"spread":false},{"title":"BPMControl.class <span style='color:#111;'> 1.87KB </span>","children":null,"spread":false},{"title":"Control.class <span style='color:#111;'> 381B </span>","children":null,"spread":false},{"title":"MP3Control.class <span style='color:#111;'> 2.55KB </span>","children":null,"spread":false},{"title":"BPMModel.class <span style='color:#111;'> 2.13KB </span>","children":null,"spread":false},{"title":"Model.class <span style='color:#111;'> 528B </span>","children":null,"spread":false},{"title":"ComObserver.class <span style='color:#111;'> 281B </span>","children":null,"spread":false},{"title":"View$1Mp3Filter.class <span style='color:#111;'> 948B </span>","children":null,"spread":false},{"title":"View.class <span style='color:#111;'> 13.91KB </span>","children":null,"spread":false},{"title":"MP3Model$1.class <span style='color:#111;'> 1.12KB </span>","children":null,"spread":false}],"spread":false},{"title":"device","children":[{"title":"CalculateBPM.class <span style='color:#111;'> 2.81KB </span>","children":null,"spread":false},{"title":"EnergyOutputAudioDevice.class <span style='color:#111;'> 1.62KB </span>","children":null,"spread":false},{"title":"BPM2SampleProcessor.class <span style='color:#111;'> 2.55KB </span>","children":null,"spread":false},{"title":"SampleProcessor.class <span style='color:#111;'> 171B </span>","children":null,"spread":false},{"title":"BaseOutputAudioDevice.class <span style='color:#111;'> 1.57KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"src","children":[{"title":"com","children":[{"title":"play","children":[{"title":"Model.java <span style='color:#111;'> 703B </span>","children":null,"spread":false},{"title":"View.java <span style='color:#111;'> 17.65KB </span>","children":null,"spread":false},{"title":"test.java <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false},{"title":"BPMModel.java <span style='color:#111;'> 2.17KB </span>","children":null,"spread":false},{"title":"Controlcs.java <span style='color:#111;'> 1.58KB </span>","children":null,"spread":false},{"title":"BPMControl.java <span style='color:#111;'> 1.79KB </span>","children":null,"spread":false},{"title":"MP3Model.java <span style='color:#111;'> 6.39KB </span>","children":null,"spread":false},{"title":"MP3Control.java <span style='color:#111;'> 2.22KB </span>","children":null,"spread":false},{"title":"Control.java <span style='color:#111;'> 428B </span>","children":null,"spread":false},{"title":"ComObserver.java <span style='color:#111;'> 251B </span>","children":null,"spread":false},{"title":"AdapterModel.java <span style='color:#111;'> 2.17KB </span>","children":null,"spread":false}],"spread":false},{"title":"device","children":[{"title":"CalculateBPM.java <span style='color:#111;'> 3.78KB </span>","children":null,"spread":false},{"title":"BaseOutputAudioDevice.java <span style='color:#111;'> 2.43KB </span>","children":null,"spread":false},{"title":"EnergyOutputAudioDevice.java <span style='color:#111;'> 1.83KB </span>","children":null,"spread":false},{"title":"BPM2SampleProcessor.java <span style='color:#111;'> 2.55KB </span>","children":null,"spread":false},{"title":"SampleProcessor.java <span style='color:#111;'> 879B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":".project <span style='color:#111;'> 385B </span>","children":null,"spread":false},{"title":".classpath <span style='color:#111;'> 509B </span>","children":null,"spread":false},{"title":"lib","children":[{"title":"customizer.jar <span style='color:#111;'> 69.96KB </span>","children":null,"spread":false},{"title":"multiplayer.jar <span style='color:#111;'> 62.03KB </span>","children":null,"spread":false},{"title":"jmf.jar <span style='color:#111;'> 1.82MB </span>","children":null,"spread":false},{"title":"jl1.0.1.jar <span style='color:#111;'> 102.89KB </span>","children":null,"spread":false},{"title":"mediaplayer.jar <span style='color:#111;'> 38.16KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明