Java模擬微信來電提醒示例
引言
前幾天在抖音刷到一個老哥做的章魚哥來電提醒,感覺挺好玩的,于是就用Java搞了一個。
大致流程如下
- 章魚哥來電提醒
- 文本一朗讀
- 點擊鼠標特效,緊接著攝像機移動到電腦右下角
- 中間穿插這章魚哥朗誦視頻(無聲,聲源是文本內(nèi)容)
- 右下角彈出章魚哥來電提醒
- 右下角來電倒計時+文本二+文本三
- 播放章魚哥朗誦 章魚哥朗誦視頻+zhyg.wav聲音
開搞 ?。?/p>
效果圖如下
代碼思路
是用java.swing 的 JFrame做的,它原生的按鈕太難看,于是想著用Jlabel放個圖片,加個監(jiān)聽時間,代替按鈕的功能。
//去掉窗口的裝飾,title,最大化,最小,關(guān)閉按鈕 this.setUndecorated(true);
章魚哥的頭像是用PS處理過的,調(diào)試了一下大小,圖片的像素是100 x 100,使用的網(wǎng)格布局GridLayout,會自動往右邊排列。
//章魚哥頭像 JLabel jLabel = new JLabel(); jLabel.setPreferredSize(new Dimension(100, 100)); //把圖片放到resource下面,最好是用PS導出png透明格式 URL url = ImageIcon.class.getResource("/zhyg.png"); Icon icon = new ImageIcon(url); jLabel.setIcon(icon); jHeadPanel.add(jLabel);
中間的倒計時是JTextField,設(shè)置一下字體格式,楷體,30大小就行, 接聽按鈕和掛斷按鈕是像素是40 x 40,上面還有兩個透明的JLabel用來占位置,要不然按鈕會顯示在上面。
值得一提的是,播放音頻的時候需要啟動一個線程,要不然會阻塞,意思是代碼執(zhí)行完了才會執(zhí)行,或者播放完了才會執(zhí)行倒計時,反正各種奇怪的問題。
//啟動播放微信來電語音 PlayMp3 p = new PlayMp3(); new Thread(p).start();
加載音樂的時候試了下mp3格式的,好像不行,可以用ffmpge或者AE處理一下,導出wav格式的,家里有條件的可以買正版軟件。
File f = new File("wechat_call.wav"); URI uri2 = f.toURI(); URL url2 = uri2.toURL(); //這里處理了一下加載路徑的位置,要不然加載不到,這個URI和File加載的方式不一樣 String filename = url2.toString().replace("wechat_call.wav", "mail/src/main/resources/wechat_call.wav"); URL url = URI.create(filename).toURL(); AudioClip clip = Applet.newAudioClip(url); // 控制音樂的播放與停止 clip.play(); Thread.sleep(10000); clip.stop();
總結(jié)
起初我以為Java做不出來這個效果,沒想到還挺神似的,就是細節(jié)方面沒有處理,大概實現(xiàn)了一下,之后打算加個待辦列表,倒計時的時候提醒這個。有機會的話用Java Swing畫一下微信裝裝X,點擊通話的時候再顯示這個就更真實了,以假亂真。
以上就是Java模擬微信來電提醒示例的詳細內(nèi)容,更多關(guān)于Java模擬微信來電提醒的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java開發(fā)使用StringUtils.split避坑詳解
這篇文章主要為大家介紹了java開發(fā)使用StringUtils.split避坑詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11SpringBoot 自定義+動態(tài)切換數(shù)據(jù)源教程
這篇文章主要介紹了SpringBoot 自定義+動態(tài)切換數(shù)據(jù)源教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12使用Java實現(xiàn)大小寫轉(zhuǎn)換實例代碼
最近在開發(fā)項目中遇到一個比較好用的方法,那就是對字符串中的字母大小進行轉(zhuǎn)換,所以下面這篇文章主要給大家介紹了關(guān)于如何使用Java實現(xiàn)大小寫轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下2022-06-06