As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I am looking to develop an audio player in C#, but was wondering what libraries are available for playback. I am looking for a free library that allows for an extensive list of audio formats to be played (for example mp3, wma, wav, ogg, etc.) Thats pretty much the basic functionality I would need. But if I could get picky, a library that can convert audio files between the formats would be handy. Doing a google search I came across the alvas.audio library, but it wasn't free. The VLC library would be nice too, but I couldn't get it to work, and I'd prefer to just package my application with a dll instead of having my users have the VLC software installed on their machine as well.
Thanks for any tips or advice on this.
NAudio is an open source .NET audio library that can play back WAV, MP3, WMA, AAC and AIFF files, making use of ACM or Media Foundation codecs installed on your computer for decompression purposes. For ogg support, there is an add-on nuget package you can use.
(Edit: updated with details of supported audio file types in NAudio 1.7.
Also, full disclosure: I am the author of this library)
Bass Audio Library is one option.
Alvas.Audio
This library doesn't seem to be developed any further, I purchased a lifetime team license and haven't been able to get in touch with the developer since November 2011, no answer after many emails, and no new versions despite the promise to create new versions quarterly. Also didn't get any kind of message from the developer that he is abandoning the project.
You will want to take a look at DirectShow. DirectShow is an unmanaged library which depends on the codecs installed on the user's system for which you can create render graphs. DirectShow is free and usually installed on most Windows machines.
There is a managed wrapper for DirectShow titled DirectShow.NET, which you can find here:
http://directshownet.sourceforge.net/
As of 2012, OpenAL seems to be a viable library -- and something of a standard. It works on a range of OSes (from XP to Windows 8), and integrates with (is already integrated with) MonoGame.
Since the Creative Labs link (above) is down, you can try one of these instead:
SourceForge
OpenAL Soft
irrKlang is a C++ audio library with a .NET API. It is free for non-commercial use.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I know that with .net you have Asp.net, and I know that .net it's self is a framework. How ever, I am coming from the land of Java and PHP where frameworks are aplenty.
I understand that C# and .net are usually used in business development ans that a lot of the code is not open due to the nature of MS and the platforms used to develop with such technologies.
I have scoured "C#" on github and ".net" on the same site, how ever the code bases I find, seem to be developed for a while and then fade away, and it also seems, chime in if I am wrong, that there are no frameworks for .net, aside from .net it's self. With that said I have seen Spring .net
The reason I ask is because I have recently began reading the Framework Design Guidelines book which is mostly discussing .net and .net frameworks, how ever when looking for examples on .net frameworks used in production code, I am either blind or there are none.
Are there any? If I was to develop an application is there any frameworks I could draw on aside from .net it's self.
The application could be desktop, database driven, web.....I am just looking to see what .net frameworks exist and how they are used to get a better understanding of this "closed source" world.
If you want to find a whole bunch of .NET frameworks that are open-source head on over to CodePlex, there are a ton of great, active frameworks over there.
A few other things are also open-source from the Microsoft side of things, items like reactive extensions and the such.
GitHub is great but its usage for .NET items is somewhat new-ish and hard to gauge compared to CodePlex.
There are lots of open source projects in c# from Microsoft and community.
First of all Asp.net is open source and they accept community contributions. http://aspnet.codeplex.com/
I don't know if you looked https://github.com/languages/C%23 there are also many projects like Mono , ServiceStack and NancyFx Signalr RavenDb , NServiceBus
And if you check out Nuget's package list you will also see lots of frameworks most of them are open source http://nuget.org/packages
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I want to use 3D for two purposes. One is to display statistics in a fancy way for my app and another is to make a simple 3D game.
What I'm looking for is an library that is preferably open source, so I can include it in my C# project, without using any dlls, but if there's no other option, it's no big deal. I sell my apps, so I need to be able to use the library for commercial purposes. It would be perfect if I could create models in Blender 3D and import them into the library easily.
Have you considered using MOGRE, which is a .NET wrapper for OGRE? OGRE is MIT licensed, so fine for commercial use, and MOGRE seems to be LGPL licensed so also fine for commercial use (and you don't have to release source if you dynamically link with it).
A quick search will turn up plugins for Blender to export to OGRE's model format, so you should be fine there.
You can also use XNA, which is a managed library written by Microsoft for game development. However, recently (Jan 2013) it seems like Microsoft is pushing people away from XNA for Windows development, and back to native code.
For example, in the last link, they pitch XNA as being for Xbox Live Indie Games and Windows Phone games, and DirectX as being for Windows. Similarly, the Microsoft Create site, which (if I recall correctly) used to have resources for Windows XNA development, now has 2 big tiles for Windows Phone and XBox, and no mention of Windows development. Finally, there's (currently) no sign of XNA support being added to Visual Studio 2012 (but that may be because a new version of XNA is being developed for the new Xbox which is presumably coming soon).
MonoGame is an open source implementation of XNA (much as Mono is an open source implementation of .NET), but I'm not sure about its 3D capabilities.
If this hasn't helped, there are plenty of other questions and answers about this topic:
https://stackoverflow.com/questions/271138/best-3d-graphics-engine-for-net
Which API to use to draw 3D objects in C#?
etc etc...
C# by itself is only a language, it doesn't have the concept of rendering on its own. "Including 3D in your project" would mean that the library would have to be adapted to your rendering engine, and that's different if, for example, you have a WPF project or a Windows Forms one. There may be libraries (especially for Windows Presentation Foundation) but why not using Microsoft XNA? It runs in a managed environment and it lets you to build your game/viewer/general project entirely in C#, or any other CLR language.
Unity is made to empower you to create the best interactive entertainment or multimedia experience that you can.
http://unity3d.com/promo/unity4/?gclid=CMOSnf281bQCFUbf4AodohUAQQ
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I'm going to start a new project with WPF, during last week I read much about it and found it quite useful. But recently I got familiar with GTK whichis Open and have most of WPF abilities.
Which one is better (in common) and is GTK a better choise for me or not?
I use .NET and my clients are using Windows (XP sp2 and above).
I use GTK on windows because windows is my favorite development platform but in production code GTK is only used on Unix (Linux/FreeBSD) platforms. Its just to bad for production code on Windows7. The umlaute key bugs were already mentionend so like to add the problems with popup windows and focus events.
Also despite it is called multiplattform on the GTK webpage the team does not care too much about Windows and MacOSX. This hostile attitude makes it much more worse and dangerous to use code. A good sign is that they simply don't came up with an easy to compile VS2010 environment. I don't understand whats so difficult to write simple makefiles.
On Windows there is no chance other then using WPF or MFC. And on MacOSX you have to use Cocoa. Windows7 and Cocoa both deprecated large parts of the theming engine, which means (and this is an explicit strategic goal) developers must use the platform GUI toolkit in the long term.
...But recently I got familiar with
GTK whichis Open and have most of WPF
abilities.
Hm, I doubt if this statement would persist a thorough analysis. WPF implements many features and abilities which are considered to be implemented by GTK some day, but if you mind waiting...
I use .NET and my clients are using
Windows (XP sp2 and above).
What? You are using .NET and consider using other presentation front-ends then those which are already perfectly integrated with the platform? That I don't understand. I assume you really mean .NET (i.e. the Microsoft implementation of CLR/CLS specification).
I had various problems with GTK because keyboard support is not trully working on Windows. Umlauts etc... are not recognized correctly. Happens in every GTK application I've on Windows, so it's not only in my application.
https://bugzilla.gnome.org/show_bug.cgi?id=371371
Because of this, GTK is never option for me on Windows (can't even use my own applications then).
WPF in contrast tries to split some tasks much more then GTK is able to. Means a designer and a programmer should be able to better split their work.
I think you get clear about your question by googling.
I think you must refer this. links.
http://www.stealthstartupblog.com/?p=23
http://trader.mikaelaldridge.com/uncategorized/wpf-vs-gtk/
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I work for a manufacturing company in the configuration dept so i see alot of process related data control stuff passing me by everyday. In the past i have developed some excel vbscript programmes to manage a lot of data items through a GUI and using excel as the backend to store results, but there's only so far you can take that.
I would really like to learn how to create proper databases with GUIs, multiple user logins and workflows for approval etc, but i have no idea where to start.........any advise on desktop applications or web based applications to allow the system to be used over the internet when working abroad, would be appreciated.
Thanks.
Fergie
C# and .net would be a good place to start. C# is fairly easy to learn and visual studios offers a great development environment for it.
Java is also another way you can go. Java is multiplatform and has great functionality for integrating into a web environment.
If you're looking for a comprehensive solution for desktop apps, web apps and database development, you should definitely look into Visual Studio and .NET. It's the most "cohesive" suite of tools you can use and it sounds like you have some MS programming skills already.
This is not a programming language per se and it's cost money, but FileMaker Pro is great for what you're describing. It's a RAD tool that creates a database and GUI pretty much in the same development cycle.
We use FileMaker Pro for lot of small business software we write, we also heavily use Java, and FileMaker is at least 10 times easier/faster to build things in.
One final note, FileMaker is cross-platform for Mac and Windows, unlike C# which I see mentioned here.
This is very subjective, but based on your requirements, I'd go with C#. Both Java and C# let you develop both web and client apps, but C# integrates much more smoothly with Linux and especially Windows. Also, Visual Studio has an absolutely phenomenal debugger that will make your life much easier.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What is used instead of Maven for C# Windows Forms projects?
We have developers all over the world and are trying to come up with some dependency management system that is clean simple and fast.
There is Byldan, but the project seems quite young.
(See also Stack Overflow question Is there a Maven alternative or port for the .NET world?.)
I wrote a tutorial on the subject, Using Maven to manage .NET projects.
It seems like there has been some work done in this area with Nuget. See David Ebbo's blogpost Using NuGet without committing packages.
There are NMaven and NPanday, and they both have the same origin. They are a collection of Maven plugins that enable a Maven-like built of C# and VB.NET projects.
NMaven seems dead, this is why I use NPanday. I recently joined the team, and it is quite active. The current release is 1.1. Version 1.2 is coming soon, and we are also working on the next major release.
You should use it...
When you like Maven
You shouldn't use it...
When you like MSBuild (this will become better in 2.0)
When you need localized resource assemblies (will be fixed in 1.2)
You could just use Maven and write a plugin that integrates MSBuild.
We use Maven to manage non-Java components, such as our Flex .swf and .swc modules. Writing a Maven plugin would be less effort than recreating a comparable system just for .NET assemblies.
I would recommend using Hudson and Maven together, for that matter.