NVorbis.source
所属分类:音频处理
开发工具:C#
文件大小:217KB
下载次数:8
上传日期:2013-01-30 18:29:01
上 传 者:
cn886372
说明: 纯.net实现对ogg 文件的读写播放
用到了本人上传的另一个类库NAudio
(Ogg File Play)
文件列表:
COPYING (2671, 2012-09-20)
Lib (0, 2012-09-20)
Lib\ACache.cs (5192, 2012-09-20)
Lib\DataPacket.cs (6723, 2012-09-20)
Lib\Huffman.cs (2022, 2012-09-20)
Lib\IPacketProvider.cs (759, 2012-09-20)
Lib\IVorbisStreamStatus.cs (2389, 2012-09-20)
Lib\Mdct.cs (37155, 2012-09-20)
Lib\NVorbis.csproj (5836, 2012-09-20)
Lib\Ogg (0, 2012-09-20)
Lib\Ogg\OggContainerReader.cs (14115, 2012-09-20)
Lib\Ogg\OggPacket.cs (2738, 2012-09-20)
Lib\Ogg\OggPacketReader.cs (11177, 2012-09-20)
Lib\Ogg\OggPageFlags.cs (756, 2012-09-20)
Lib\Properties (0, 2012-09-20)
Lib\Properties\AssemblyInfo.cs (625, 2012-09-20)
Lib\RingBuffer.cs (4767, 2012-09-20)
Lib\Utils.cs (4252, 2012-09-20)
Lib\VorbisCodebook.cs (9550, 2012-09-20)
Lib\VorbisFloor.cs (29552, 2012-09-20)
Lib\VorbisMapping.cs (4581, 2012-09-20)
Lib\VorbisMode.cs (4300, 2012-09-20)
Lib\VorbisReader.cs (12225, 2012-09-20)
Lib\VorbisResidue.cs (11749, 2012-09-20)
Lib\VorbisStreamDecoder.cs (28961, 2012-09-20)
Lib\VorbisTime.cs (1542, 2012-09-20)
NAudioSupport (0, 2012-09-20)
NAudioSupport\NAudioSupport.csproj (2596, 2012-09-20)
NAudioSupport\Properties (0, 2012-09-20)
NAudioSupport\Properties\AssemblyInfo.cs (635, 2012-09-20)
NAudioSupport\VorbisWaveReader.cs (5560, 2012-09-20)
NVorbis.sln (3483, 2012-09-20)
References (0, 2012-09-20)
References\NAudio license.txt (2660, 2012-09-20)
References\NAudio.dll (391168, 2012-09-20)
TODO (676, 2012-09-20)
TestApp (0, 2012-09-20)
TestApp\Program.cs (2948, 2012-09-20)
... ...
NVorbis
-------
NVorbis is a .Net library for decoding Xiph.org Vorbis files. It is purely
managed code, and should run correctly in partial-trust environments.
This implementation is based on the Vorbis specification found on xiph.org.
The MDCT and Huffman codeword generator were borrowed from public domain
implementations at http://nothings.org/stb_vorbis/.
Currently the only container supported is Xiph.org Ogg. Matroska and RTP
are planned.
To use:
- Create an instance of NVorbis.VorbisReader (pass the Ogg Vorbis filename in)
- Use these properties to gather data about the logical stream:
- Channels
- SampleRate
- TotalTime - A TimeSpan indicating the total length of the audio data
- DecodedTime - A TimeSpan indicating the last returned sample's timestamp
- NominalBitrate, UpperBitrate, and LowerBitrate
- These are the encoder's reported bitrates
- Vendor - The encoder's vendor string
- Comments - An array of comments in the file (usually tags)
- Call "int ReadSamples(float[], int, int)" to retrieve the next batch of
samples. It will return 0 when the logical Vorbis stream is done.
- For NAudio support:
- Reference NVorbis.NAudioSupport.dll
- Create an instance of NVorbis.NAudioSupport.VorbisWaveReader
- VorbisWaveReader implements NAudio.Wave.WaveStream.
History
-------
0.1 - 08/03/2012
* Initial Release
0.2 - 08/07/2012
* Swapped out LGPL code for public domain implementations
* Relicensed under Ms-PL
* Added NAudio support project
* Added test files & app
* Performance improvements
0.3 - 08/08/2012
* Fixed Page / Packet decode (packets overlapping 2 pages)
* Fixed "no energy" packet handling
* Fixed packet reader not merging when unsolicited packets are added
* Added .gitignore
* Added initial multi-stream support
* Added statistics (see VorbisReader.Stats)
0.4 - 08/14/2012
* Refactoring to clean up code and make room for later improvements
* Changed lapping algorithm to be simpler
* Switched to higher-performance clipping algorithm
* Some cleanup
0.4.1 - 09/11/2012
* Fixed a couple Ogg container bugs
* Optimized memory allocations for better performance / memory usage
0.5 - 09/20/2012
* Added seeking support
* Changed OggPacketReader to use a doubly-linked list for the packet queue / history
* Changed OggPacketReader.GetTotalPageCount() to count pages directly instead of making .AddPacket(...) keep a list
* Fixed a few bugs (mostly race conditions in multi-threaded playback scenarios)
* Added multi-stream support to VorbisWaveReader
* Added several info properties to VorbisWaveReader
近期下载者:
相关文件:
收藏者: