Musikserver bezieht sich auf einen Server, der Online-Musikdienste bereitstellt. Er umfasst High-End-Websites, die Portaldienste, Webdatenbanken sowie Low-End-Betriebsplattformen und Hardware-Einrichtungen bereitstellen. Derzeit gibt es viele solcher Websites im Internet und Intranet, insbesondere in einigen Hochgeschwindigkeits-Breitband-LANs (z. B. Campus-Netzwerken). Musikserver bieten Internetfreunden einen guten Ort für Freizeit und Unterhaltung und gleichzeitig auch bringt Komfort auf die Website.
----Wie andere Websites besteht der Musikserver aus zwei Teilen: Website und Hardware. Hardwareleistung und Servereffizienz stehen in direktem Verhältnis zueinander. Daher ist die Erstellung einer Website der Schlüssel zu einem Musikserver. Aus heutiger Sicht gibt es grundsätzlich zwei Arten von Websites: Die eine läuft in einer Unix/Linux-Umgebung und verwendet Perl/C/Php/Java usw. als CGI-Programmiersprache, die andere läuft auf dem Win NT Server Plattform, wobei ASP /WinCGI als Hintergrundsprache verwendet wird. Ersteres weist eine hohe Betriebseffizienz auf, verfügt jedoch über eine komplexe Struktur, sodass es besser für große Websites geeignet ist. Letzteres weist relativ geringe Programmierschwierigkeiten auf und verwendet eine ODBC-Treiberschnittstelle, um die Datenbankverbindung zu erleichtern, wodurch es besonders für Musikserver geeignet ist.
----Ein einfacher Musikserver besteht aus vier Teilen: Online-Musikbewertung, Musikrankings, Abruf von Musikthemen und Musikdownload. Im Folgenden wird hauptsächlich erläutert, wie die oben genannten Funktionen aus technischer Sicht implementiert werden können.
Planung einer Musikthemendatenbank
----Die Musikthemendatenbank ist ein Lager zum Speichern der für die Website erforderlichen Musikmaterialien. Ihre Planung hat großen Einfluss auf die Struktur und Effizienz der gesamten Website. In der Datenbank kann ein einzelnes Formular erstellt werden, oder es können mehrere Formulare in Form von Primärschlüsseln und Fremdschlüsseln erstellt werden. In diesem Beispiel wird zur Vereinfachung der Erklärung das folgende Einzeltabellen-Framework erstellt: (music.mdb)
Hören Sie Musik online
----Online-Hören bedeutet, dass der Client den Player zum Abspielen von Musikdateien auf der Serverseite verwendet. Das Prinzip besteht darin, dass, nachdem der Client das Musikmenü an den Server übermittelt hat, der Server die entsprechende .m3u-Datei generiert und die Datei über das HTTP-Protokoll auf den Client herunterlädt. Der Client wird dazu aufgefordert, den entsprechenden Player aufzurufen, um die Datei auszuführen. Dadurch wird die Online-Hörfunktion für Musik erreicht. Zu den Playern, die derzeit .m3u-Dateien unterstützen, gehören Winamp, RealPlayer G2, Musicmatch usw. Wenn diese Player-Software korrekt auf dem Client installiert ist, können sie automatisch .m3u-Dateien abspielen. Der Schlüssel zur Lösung des Problems liegt also darin, wie man die .m3u-Datei im Hintergrund generiert und auf den Client herunterlädt. Im Folgenden wird die in ASP integrierte FileSystem-Komponente verwendet, um eine Lösung und das entsprechende Programm bereitzustellen.
<%
dimmen Sie „choose,path,mydb,myset,SQL,fs,mp3“.
'##### Holen Sie sich das ausgewählte Liedelement im list.htm-Formular
Die entsprechende ID-Nummer wird der String-Variablen zugewiesen. Wählen Sie #####
wähle=(
für i=3 zu request.form.count
Choose=choose+request.form(i)+,
nächste
wähle=links(wähle,len(wähle)-1)+)
'##### Beurteilen Sie die Auswahlvariable, wenn sie keine ID-Nummer enthält.
Beschreibung: In list.htm sind keine Songs ausgewählt, beenden Sie das Programm #####
wenn wähle=() dann
Antwort.redirect(list.htm)
Antwort.Ende
Ende wenn
'##### Um den Dateipfad festzulegen, müssen Sie die Berechtigungen des temporären Verzeichnisses auf festlegen
Lese- und Schreibberechtigungen für anonyme Internetbenutzer haben #####
path=E:/inetpub/wwwroot/temp/
'##### Dateiobjekt erstellen #####
Setze fs = CreateObject(Scripting.FileSystemObject)
Setze mp3 = fs.CreateTextFile(path+listen.m3u, True)
'##### Datenbankobjekt erstellen #####
set mydb=server.createobject(adodb.connection)
mydb.open Musik
'##### Durchsuchen Sie die Datenbank und erhalten Sie Songinformationen#####
SQL=wähle mp3name,URL aus &dbname&
Wo ich bin und wähle
set myset=tdb.execute(SQL)
tun, während nicht myset.eof
'##### Generieren Sie eine On-Demand-Songdateiliste#####
mp3.Write(http://+myset(url)+chr(10))
myset.movenext
Schleife
'##### Aktualisieren Sie die Anzahl der On-Demand-Ansichten und die Anzahl der Ansichten am Tag in der Datenbank
Gesamtzahl der Aufrufe#####
SQL=Musiksatz aktualisieren click=click+1,
this=this+1 where id in &choose
mydb.execute(SQL)
'##### Objekt abbrechen #####
setze myset=nichts
mydb.close
setze mydb=nichts
mp3.schließen
setze mp3=nichts
'##### Laden Sie diese Datei für Benutzer ##### herunter
Antwort.redirect(listen.m3u)
Antwort.Ende
%>
----Hinweis: Bei Verwendung dieser Methode müssen Sie den Inhalt des HTTP-Headers der .m3u-Datei steuern. In Winnt kann IIS verwendet werden, um Mine-Inhalte vom Dateityp .m3u festzulegen. Der spezifische Vorgang ist wie folgt: Starten Sie IIS –> Wählen Sie die Website aus, auf der sich der Musikserver befindet –> Klicken Sie auf die Schaltfläche „Eigenschaften“ –> Klicken Sie auf die Titelkarte „HTTP“ in der angezeigten Registerkarte „Eigenschaften“ –> Klicken Sie auf die Schaltfläche „Dateityp“ –> Klicken Sie auf „ Klicken Sie auf die Schaltfläche „Neuer Typ“ —> Geben Sie im entsprechenden Feld .m3u in die Erweiterung ein, geben Sie audio/mpegurl in den Inhaltstyp ein —> und bestätigen Sie dann vollständig.
Musik-Charts
----Die Musik-Rangliste ist ein unverzichtbarer Inhalt des Musikservers und ihre Bedeutung ist nicht geringer als der Seitenaufruf einer Website. Es kann Fans in Echtzeit mit Informationen versorgen, ihnen Wertschätzung vermitteln und Trends dynamisch widerspiegeln.
Unter vielen Musikservern ist die Rangliste auch ein Ort, um neue vorzustellen, mit einer hohen Klickrate. Im Allgemeinen umfasst die Rangliste die Gesamtzahl der Abrufe, die Anzahl der Abrufe an diesem Tag, die Gesamtzahl der Downloads usw. Die spezifische Implementierungsmethode ist relativ einfach. Die folgende SQL-Anweisung kann in einer einzelnen Tabelle verwendet werden: select * from music order by total_click. Wenn mehrere Tabellen vorhanden sind, können Sie eine SQL-Anweisung für gemeinsame Abfragen mit einer Join-Klausel verwenden. Wenn Sie die Anzahl der Abfragedatensätze begrenzen möchten, können Sie die Sammlungsfunktion count() verwenden. Wenn Sie in diesem Beispiel die 20 am häufigsten nachgefragten Songs des Tages abfragen möchten, können Sie die folgende Anweisung verwenden: select top 20 * from music order by total_click desc. Die Funktion des Rankings hängt hauptsächlich von der Planung der Themendatenbank ab. Sie können nach Bedarf Felder hinzufügen oder löschen, um entsprechende Funktionen (z. B. Hinzufügen von Zeit zum Eingeben der Liste, Sängerinformationen, Ranking-Änderungen usw.) und SQL zu erreichen Die beteiligten Aussagen werden nicht allzu kompliziert sein. Kurz gesagt, die Rankings spiegeln die Eigenschaften einer Musik-Website wider und können frei verwendet werden.
Suche nach Musikthemen
----Wenn es um die Suche geht, denken viele Leute sofort an berühmte Websites wie Yahoo und Soho und sie kommen sich ziemlich mysteriös vor. Tatsächlich ist es nicht schwierig, eine Suchmaschine in einer Datenbank zu installieren, da die integrierte Datenmaschine in der Datenbank bereits eine gute Grundlage bietet. Die Sucheffizienz hängt von der Leistung der Datenbank und der Effizienz der SQL-Anweisung ab. In der Rezeption können eine Reihe von Suchbegriffen und Bedingungsoptionen bereitgestellt werden. Im Hintergrund wird basierend auf dem von der Rezeption übermittelten Formular die entsprechende Abfrageanweisung generiert und in der Datenbank ausgeführt und die Abfrageergebnisse zurückgegeben. Das an der Rezeption eingereichte Formular lautet beispielsweise: Suchbegriff = Name des Sängers, Inhalt = Jacky Cheung, Übereinstimmungsbedingung = Übereinstimmung mit dem ganzen Wort. Die im Backend generierte SQL-Anweisung lautet dann: select * from music where Singer = 'Jacky Cheung ' Reihenfolge nach Ausgabe, ID aufsteigend, Auf diese Weise können alle Songinformationen von Jacky Cheung nach Albumklassifizierung abgerufen und zurückgegeben werden. Ein weiteres Beispiel ist, dass die Rezeption alle Lieder abfragen möchte, deren Name Qi Qin ist und die Liednamen das Wort „Regen“ enthalten (dh ein Fuzzy-Matching ist erforderlich). Die vom Hintergrund generierte SQL-Anweisung lautet dann: „select * from music“. Wo Sänger ='Qi Qin' und mp3name Wie '%rain%' Reihenfolge nach ID ASC gibt Winterregen, Sonnenregen, rücksichtslosen Regen, rücksichtsloses Du usw. zurück. Solange Sie geeignete Techniken und flexible SQL-Anweisungen verwenden, können Sie Ihre Themensuche optimal nutzen.
Musik-Download-Funktion
----Stellen Sie eine Musik-Download-Funktion bereit, die auch eine Grundfunktion des Musikservers ist, insbesondere für Remote-Benutzer, die ihre Lieblingssongs erst nach dem Herunterladen genießen können.
Im Allgemeinen gibt es zwei Möglichkeiten, das Herunterladen bereitzustellen: Eine besteht darin, direkt über HTTP und einen Browser herunterzuladen, die andere darin, die Musikbibliothek in einem FTP-Verzeichnis zu öffnen und über das FTP-Protokoll herunterzuladen. In diesem Beispiel wird die erstere Methode verwendet und die Anzahl der Downloads wird verfolgt und in der Datenbank aufgezeichnet. Einige Websites komprimieren und verschlüsseln Songs auch nach Bedarf und stellen offiziellen Benutzern Passwörter zur Verfügung, was ebenfalls eine gute Idee ist. Der Ablauf in diesem Beispiel ist wie folgt:
<%
'##### Holen Sie sich die ID der Song-Identifikationsnummer #####
id=Anfrage(id)
set tdb=server.createobject(adodb.connection)
tdb.open Musik
SQL=wähle mp3url aus Musik aus, wobei id =&id ist
set tset=tdb.execute(SQL)
wenn tset.eof dann
Antwort.Ende
anders
'##### Aktualisieren Sie die Anzahl der Downloads von Songs in der Datenbank#####
SQL=Musiksatz aktualisieren total_down=total_down
+1 wobei id =&id
tdb.execute(SQL)
downfile=tset(url)
tdb.close
settset=nichts
settdb=nichts
Ende wenn
wenn downfile= oder isnull(downfile), dann Response.end
downfile=http://+downfile
'#####Laden Sie das entsprechende Lied herunter#####
Response.redirect(Downfile)
Antwort.Ende
%>
----Mit den obigen Schritten erstellen Sie einen einfachen Musikserver. Natürlich kann ein vollständiger Musikserver auch Sängerinformationen, Fanforen, Chatrooms, Abstimmungsstationen, Unterhaltungsnachrichtennetzwerke und andere Funktionen umfassen, die alle einzeln mit ASP implementiert werden können. Dieser Artikel ist aus Platzgründen begrenzt und wird nicht im Detail besprochen. Solange die Front-End-Seite ein einzigartiges Stildesign und eine perfekte JavaScript-Programmsteuerung annimmt und die Back-End-Programmierung flexible SQL-Anweisungen und leistungsstarke ASP-Komponenten verwendet, gepaart mit einer gut geplanten Webdatenbank und reichhaltiger Kreativität, ist ein perfekter Musikserver gebaut werden kann. Freunde, die Interesse haben, möchten es vielleicht einmal ausprobieren, Sie werden ein Wunder vollbringen!