China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-08-12 23:58
中国DOS联盟论坛 » DOS媒体世界 & 网络技术 (多媒体室) » Development & Download: Latest version of WPlayer player View 12,821 Replies 44
Original Poster Posted 2004-09-17 00:00 ·  美国
初级用户
Credits 158
Posts 23
Joined 2004-09-08 00:00
21-year member
UID 31210
Gender Male
Status Offline
Description: This is a sound player that supports AC97 sound cards, enabling the integrated AC97 sound card to make sound in pure DOS.

WW1) Improved interface:
2) Supports various data combination formats
3) Supports data below 44.1k (although the effect is not good because it is interpolated to 44.1k by software for playback, so the effect is not too good. I hope everyone can find a better way)
Next work plan: can support MP3 file playback, add a playlist.
Floor 2 Posted 2004-09-17 00:00 ·  中国 广东 深圳 南山区 电信
初级用户
Credits 158
Posts 23
Joined 2004-09-08 00:00
21-year member
UID 31210
Gender Male
Status Offline
Open attachment

Source code for everyone to study
Floor 3 Posted 2004-09-17 00:00 ·  中国 湖北 武汉 教育网
中级用户
Credits 258
Posts 49
Joined 2004-08-29 00:00
21-year member
UID 30951
Gender Male
Status Offline
Haha, upgraded to version 1.12: Corrections are as follows:
1. Thoroughly solved the problem of incorrect total time display. Rushon, pay attention. The calculation method should be TotalTime = wHead.fileSize / wHead.nSamplePerSec; while you wrote TotalTime = wHead.dataSize / wHead.nSamplePerSec; so it always showed hundreds of minutes.
2. Corrected spelling errors (Rushon, it seems you didn't correct them).
3. The sentence "printf("Press < + - > to Volume contorl <P> to Pause Other KEY to stop\n"; This is very important, how did it get lost? I added it.
Comprehensive testing has been done, and the following problems exist:
The channel problem is well solved, and the bit number problem is okay, but the sound becomes quieter when it is 8-bit. The frequency problem is actually still very big. When it is lower than 22k, it really sounds like a hoarse throat. Even when the volume is reduced to 0, there is still noise. The original way I solved the mono problem was to send the same data to two channels, using the w_mixing function instead of w_mixing_stereo. I don't know how Rushon did it. Is it software interpolation? My level is low, I can't understand it very well. It seems you used the w_mixing_stereo function all the time.
Hope Rushon will make persistent efforts to solve the problem at low frequencies.
Open attachment
Floor 4 Posted 2004-09-18 00:00 ·  中国 广东 深圳 联通
初级用户
Credits 158
Posts 23
Joined 2004-09-08 00:00
21-year member
UID 31210
Gender Male
Status Offline
1. Completely solve the problem of incorrect total time display. Rushon, pay attention. The calculation method should be TotalTime = wHead.fileSize / wHead.nSamplePerSec; while you wrote TotalTime = wHead.dataSize / wHead.nSamplePerSec; so it always shows hundreds of minutes. ======================================================== wHead.fileSize is the total length of the file minus 4. wHead.dataSize is the length of the data. I tested other files and there were no problems. Hehe, maybe it's caused by your recording software. But it's good to change it.
2. Correct the misspelled word (Rushon, it seems you didn't correct it). Indeed, I modified it during working hours. I was a bit anxious to release the new version. Thank you for the correction.
3. printf("Press < + - > to Volume contorl <P> to Pause Other KEY to stop\n"; This sentence is very important. How did it get lost? I added it. ======================================================== Indeed, I forgot. Hehe.
Comprehensively tested, the following problems exist:
The channel problem is solved well, and the bit number problem is okay, but the sound becomes quieter when it's 8-bit. ======================================================== Because the value of 8-bit data must be smaller than that of 16-bit. I have multiplied this value by 16, and it can be corrected again because it will be distorted if it's too large. The frequency problem is actually still very big. When it's lower than 22k, it really sounds like a hoarse person's throat. Even when the volume is reduced to 0, there is still noise. I can't find the reason for this noise so far. Because I can't find a way to solve the problem of reducing the playback frequency now, so I can only take the current data twice and play it according to 48000. I don't know why there is noise. Then, my original way to solve the mono problem was to send the same data to two channels, using the w_mixing function instead of w_mixing_stereo. I don't know how Rushon did it. Is it software interpolation? ======================================================== I did the same as your method. It's just that I sent it well when getting the data. I have low level, so I can't understand it very well. It seems you all use the w_mixing_stereo function. ======================================================== You are too modest. Actually, it's not that complicated.
Hope Rushon makes persistent efforts to solve the problem at low frequencies. ======================================================== Finally, thank you for your participation.
Floor 5 Posted 2004-09-18 00:00 ·  美国
系统支持
★★★★★★
“新DOS时代”站长
Credits 27,736
Posts 10,521
Joined 2002-10-09 12:00
23-year member
UID 9
Status Offline
I just made multiple updates and modifications based on version 1.12 and upgraded to version 1.13. The updates and modifications include:
1: Deleted some useless functions left before;
2: Corrected spelling and grammar errors in multiple places of the program's displayed information, and standardized some error messages, etc.;
3: Made some adjustments to the content on the interface, such as displaying sound card information, etc.;
4: This is the most important update: Added support for command-line parameters or playing file names! For example: wplay file.wav can directly play file.wav without having to run it and then manually enter it (of course, you can also manually enter it); wplay /? can display help information, etc.
In addition, other minor modifications were made, such as pressing the Q key during playback to directly exit the program.
You can download it here:
Open attachment
P.S. It seems that we are really like the authors or editors of GNU open-source programs now. Why not release this program under the GNU GPL license? If everyone agrees, we can also add commands like wplay -l to display copyright information, etc.
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

Floor 6 Posted 2004-09-18 00:00 ·  中国 广东 深圳 南山区 电信
初级用户
Credits 158
Posts 23
Joined 2004-09-08 00:00
21-year member
UID 31210
Gender Male
Status Offline
Firmly support
Floor 7 Posted 2004-09-18 00:00 ·  中国 广东 深圳 南山区 电信
初级用户
Credits 158
Posts 23
Joined 2004-09-08 00:00
21-year member
UID 31210
Gender Male
Status Offline
Can wengier solve the problem of noise in programs playing at 22k?
Floor 8 Posted 2004-09-18 00:00 ·  中国 香港
管理员
★★★★
專業島民
Credits 4,869
Posts 1,633
Joined 2002-12-10 00:00
23-year member
UID 465
Gender Male
Status Offline
Regarding Resampling...... You can refer to Shibatch SSRC http://shibatch.sourceforge.net/download/ssrc-1.29.zip
我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
Floor 9 Posted 2004-09-18 00:00 ·  中国 香港
管理员
★★★★
專業島民
Credits 4,869
Posts 1,633
Joined 2002-12-10 00:00
23-year member
UID 465
Gender Male
Status Offline
There is also a Noise sharping filter for SSRC
http://shibatch.sourceforge.net/download/dmaker.0.1.tgz
我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
Floor 10 Posted 2004-09-18 00:00 ·  中国 湖北 武汉 教育网
中级用户
Credits 258
Posts 49
Joined 2004-08-29 00:00
21-year member
UID 30951
Gender Male
Status Offline
Undoubtedly support
Floor 11 Posted 2004-09-18 00:00 ·  美国
系统支持
★★★★★★
“新DOS时代”站长
Credits 27,736
Posts 10,521
Joined 2002-10-09 12:00
23-year member
UID 9
Status Offline
Well, since everyone supports it, I just updated WPLAY to version 1.14:
1: Added that when entering WPLAY /L (case-insensitive), the GNU copyright information is displayed. Also added some display information for WPLAY /?;
2: When the file name to be played entered manually after running is empty, it automatically prompts whether to exit. Press Y to exit, otherwise return (if exit is entered in the file name, this question is not asked);
3: Discovered and corrected the phenomenon of abnormal continued operation due to the FOR loop after certain error messages (such as Wrong file type) existing in all versions from 1.11 to 1.13.
You can download the updated version 1.14 here:
Open attachment
Rushon: I didn't think of any solution to the sound effect problem below 22K, but you can refer to the link provided by Roy above.
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

Floor 12 Posted 2004-09-18 00:00 ·  中国 香港
管理员
★★★★
專業島民
Credits 4,869
Posts 1,633
Joined 2002-12-10 00:00
23-year member
UID 465
Gender Male
Status Offline
For the decoding library, you can refer to VideoLAN player (supports AAC, AC3/A52, MP3, OGG, FLAC, etc.) http://www.videolan.org/vlc/download-sources.html
我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
Floor 13 Posted 2004-09-18 00:00 ·  中国 广东 深圳 南山区 电信
初级用户
Credits 158
Posts 23
Joined 2004-09-08 00:00
21-year member
UID 31210
Gender Male
Status Offline
to :wengier Hope you can add a playlist function, that is, the *.lst text file has all the file paths of the played files. If you use wplayer *.lst, you can loop play the songs inside.
Floor 14 Posted 2004-09-18 00:00 ·  中国 湖北 武汉 教育网
中级用户
Credits 258
Posts 49
Joined 2004-08-29 00:00
21-year member
UID 30951
Gender Male
Status Offline
Upgrade to version 1.15:
1. In version 1.14, entering wplay/? shows Error: Invalid option in command line. It seems that '?' cannot match case '?', even if changed to case 63 (63 is the character code of?), so I changed it to case 'h'. To get help information, use wplay/h.
2. In 1.14, the name Rushon was written as ruston, which has been corrected.
3. There are minor corrections to the help information.
Floor 15 Posted 2004-09-18 00:00 ·  中国 湖北 武汉 教育网
中级用户
Credits 258
Posts 49
Joined 2004-08-29 00:00
21-year member
UID 30951
Gender Male
Status Offline
Too confused, actually didn't upload it. Now here it is Open attachment
Forum Jump: