Keygen音楽。 どのように機能しますか?

かなり昔、多くの人が1つの質問に興味を持っていました。 どのように機能しますか?」

そのため、この奇跡と呼ばれる-トラッカー音楽。 そして最も重要なのは、.mp3や.wavとは異なり、占有するスペースが非常に少ないことです。 最新の一般的なオペレーティングシステムでは、トラッカーファイル(MOD、XM、S3M、ITなど)は、Winamp、VLC、Amarok、Audaciousなど、ほとんどのメディアプレーヤーで再生されます。

このような音楽は、たとえばhere-keygenmusic.netまたはwww.modarchive.orgからダウンロードできます。 これらは決して唯一のリソースではなく、検索に目を向けるだけです。

このような音楽をプログラムで再生するには、ソースで利用可能なC ++およびminifmodの最低限の知識が必要です。 開発者によると、minifmodはexeファイルに50 kbのみを追加します(圧縮を除く)。


それで、簡単な理論は終わり、プログラミングに進みます。 テストのために-ここから必要なものをすべてダウンロードしてくださいwww2.zippyshare.com/v/26128618/file.html (アーカイブにはテストプロジェクトのソース、minifmod自体、1つの音楽ファイル、コンバーターなどがあります)

ステージ1.コンポジションを* .xmまたは* .mod形式で取得する必要があります * .mod形式のファイルがある場合-mod2xmコンバーターを使用して.xm形式に変換する必要があります)

手順2.次に、テーブル抽出ツールの[ファイル]-[読み込み]メニューを開き、* .xmファイルを選択します。 設定は次のようになります。


Go!をクリックした後 、.xmファイルがあるフォルダーに、Result.txtファイルが表示されます。 名前をmusic.hに変更し、ファイル\ loadmusic \ music.hを置き換えます。 このファイルには、再生する音楽トラックが含まれています。

ステージ3.新しいプロジェクトを作成し、libとloadmusicにあるすべてのものに接続します。 次のようになります。


ステージ4。 古い「C」スタイルのプロジェクトファイルでは、スタジオはプリコンパイル済みヘッダーを無効にする必要があります。そのため、プロジェクトプロパティで無効にします(Visual Studio->プロジェクトプロパティ-> C / C ++-プリコンパイル済みヘッダー-プリコンパイル済みヘッダーを使用しない)

ステップ5.最も重要なこと-残っているのは、音楽をオンにして再生させることです)))エントリポイントのソースファイル
#include <iostream>

#include "loadmusic\loadmusic.h"
#include "lib\minifmod.h"

#define WIN32_LEAN_AND_MEAN // this will assume smaller exe

FMUSIC_MODULE *mod; // fmod music handler

using namespace std;

int main()
{
cout << "Press 'p' to play music " << endl << "'s' to stop" << endl << "'e' to exit" << endl;

char i( 'p' );
do
{
switch (i)
{
case 'p' :
if (mod == NULL) // mod handle is free? (thouh it will work fine with other loaded audio devices)
{
// We defined our music file to be loaded in LoadMusic.cpp //
//=============================================================//
loadmusic(); // Call & set ready memory to load the music
if (!FSOUND_Init(44100, 0)) // intialize memory for sound
{
return 1;
}

mod = FMUSIC_LoadSong(NULL, NULL); // handle = LoadSong()
FMUSIC_PlaySong(mod); // Play it (from memory)
}

break ;
case 's' :
if (mod != NULL) // handle is loaded (playing)?
{
FMUSIC_FreeSong(mod); // Free memory (handle)
FSOUND_Close(); // Close it (stop it from playing)
mod=NULL; // make handle to be Free again
}
break ;
}

cin >> i;
}
while (i != 'e' );

if (mod != NULL) // music is on?
{
FMUSIC_FreeSong(mod); // Free it from memory (the handle - "mod")
FSOUND_Close(); // Close Music
}

return 0;
}

* This source code was highlighted with Source Code Highlighter .


デフォルトでは、音楽はすぐに再生を開始します。 「s」を入力すると、停止し、「e」を入力してプログラムを終了します。

ファイルサイズは?
VS 2010 Express Editionで実施されたテスト。 静的リンクの使用をインストールした後、166 kbのexeを取得しました。 サイズを縮小するには、最大圧縮率-9でupxで圧縮します。 ファイルを圧縮すると、出力は84 kbファイルになります。

UPD:多分誰かがコンパイルするスタジオを持っていないでしょう。 完成したexe、84 KBのサイズのダウンロードはこちら

Source: https://habr.com/ru/post/J105475/


All Articles