Escribir un reproductor de audio en C #

Tengo una idea genial para un reproductor multimedia muy especial. Me gusta pensar en este proyecto como una mini-startup, ya que aún no sé si mi idea es práctica.

De todos modos, antes de implementar mi idea, primero necesito poder implementar un reproductor de audio simple. Mi lenguaje preferido para este proyecto es C #, simplemente porque es muy fácil de usar, pero supongo que cualquier otro lenguaje orientado a objetos también estaría bien.

Comencé sin ningún conocimiento sobre el audio. Mis objetivos principales en este momento son:

Poder reproducir archivos de audio: tantos formatos como sea posible (una especie de reproductor de tipo VLC, pero solo audio por ahora).Ser capaz de analizar archivos de audio, como en frecuencia de lectura, amplitud, volumen y otra información sobre el audio. Creo que tal vez una buena idea aquí es poder analizar un formato de archivo (PCM?), Y luego convertir temporalmente cualquier archivo que quiera analizar a ese formato. Esto es para luego implementar un mecanismo que compare canciones e identifique canciones similares para recomendar al usuario (esta característica no es parte de mi idea, pero pensé que dado que existe en muchos jugadores hoy en día, también necesito tenerla si Quiero poder competir con ellos). Por cierto, actualmente no tengo ningún conocimiento sobre audio / longitudes de onda / frecuencias y demás, por lo que agradecería si alguien pudiera señalarme en la dirección correcta sobre esta función de análisis.Tal vez en el futuro también me expandiría a reproducir archivos de video, pero por ahora me estoy concentrando en el audio.

Después de buscar en Internet por un tiempo, me encontré con LAME. El problema es que no es C #, y no estoy seguro de cómo usarlo. Sé que hay algo llamado "Interoperabilidad", que se supone que me permite trabajar con archivos DLL nativos a través de C #. Cualquier información al respecto también sería útil.

Cualquier ayuda sería muy apreciada.

Gracias Malki :)

Respuestas a la pregunta(1)

Su respuesta a la pregunta