ページ 11

VC++ ミキサー ヘルプミー!

Posted: 2012年12月23日(日) 02:25
by 神族
誰かVC++でミキサーの音量調整とミュートとミュート解除のソースを下さい(コメント付きで)ggっても中々見つからなくて困ってるんです

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月23日(日) 04:24
by トントン
神族 さんが書きました:誰かVC++でミキサーの音量調整とミュートとミュート解除のソースを下さい(コメント付きで)ggっても中々見つからなくて困ってるんです
実際に、試していませんが
ここら辺が役に立つのではないでしょうか?

ミキサー その1(音量の調節)
ミキサー その2(ミュート)
ミキサー その3(多チャンネル対応化)

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月23日(日) 10:46
by 神族
トントン さんが書きました:
神族 さんが書きました:誰かVC++でミキサーの音量調整とミュートとミュート解除のソースを下さい(コメント付きで)ggっても中々見つからなくて困ってるんです
実際に、試していませんが
ここら辺が役に立つのではないでしょうか?

ミキサー その1(音量の調節)
ミキサー その2(ミュート)
ミキサー その3(多チャンネル対応化)
C#は知らないのでできたらC++に変換お願いします

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月23日(日) 10:48
by softya(ソフト屋)
何でもかんでもサンプルに頼るのはオリジナルのものが何時までも作れません。
たまにはMSDNの情報だけで作ってみてはどうでしょうか?

まぁ、トントンさんが情報を出してくれているので、それで解決するでしょうが。

>C#は知らないのでできたらC++に変換お願いします

トントンさんのは、どうみてもC言語ですが?

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月23日(日) 23:48
by 神族
softya(ソフト屋) さんが書きました:何でもかんでもサンプルに頼るのはオリジナルのものが何時までも作れません。
たまにはMSDNの情報だけで作ってみてはどうでしょうか?

まぁ、トントンさんが情報を出してくれているので、それで解決するでしょうが。

>C#は知らないのでできたらC++に変換お願いします

トントンさんのは、どうみてもC言語ですが?
俺初心者でC言語あんまり知らないです。
ちなみにC++でそのままコンパイルしようとしたらC++だけしかできないおみたいなエラーがでてBOOLからboolとか色んなのをC++並に変えたら関数のエラー的がでて分けが分からなくなってきた・・・

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月23日(日) 23:58
by h2so5
神族 さんが書きました: 俺初心者でC言語あんまり知らないです。
ちなみにC++でそのままコンパイルしようとしたらC++だけしかできないおみたいなエラーがでてBOOLからboolとか色んなのをC++並に変えたら関数のエラー的がでて分けが分からなくなってきた・・・
サンプルファイルをダウンロードしてVC++2010でビルドしたらなんのエラーもなく成功しましたよ。

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月24日(月) 00:02
by softya(ソフト屋)
誤解されているようですがC++/CLIの最大のメリットはC言語やC++の書き方が、ほぼそのまま許容される事です。templateなどを除く。
あと、C++/CLIはC/C++を知っていることを前提に作られているので勉強の順番が逆だと思います。
たぶん、C++/CLIは仕様が難解な言語のTOP3に入るぐらいややこしいシロモノです。
C++/CLIにWin32APIのコードを混ぜるなら、それなりの前提知識がないと出来ないわけです。

「C++/CLIについてのよくある誤解 - にっき(pseudo)」
http://d.hatena.ne.jp/DigitalGhost/20100322/1269291644

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月24日(月) 14:36
by 神族
h2so5 さんが書きました:
神族 さんが書きました: 俺初心者でC言語あんまり知らないです。
ちなみにC++でそのままコンパイルしようとしたらC++だけしかできないおみたいなエラーがでてBOOLからboolとか色んなのをC++並に変えたら関数のエラー的がでて分けが分からなくなってきた・・・
サンプルファイルをダウンロードしてVC++2010でビルドしたらなんのエラーもなく成功しましたよ。
こっちは、しっかりとエラーがでました
DLして、そのまま#includeでぶち込んだだけの事
エラー 1 error D8045: C ファイル 'Mixer.c' を /clr オプションと共にコンパイルできません

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月24日(月) 14:47
by softya(ソフト屋)
Mixer.cはC言語のファイル名なのでC++/CLIとしてコンパイルできません。
Mixer.cppにして、#include "stdafx.h"追加。
だだ、コンパイルできてもリソースやら何やらちゃんとしてあげないとコンパイルは通りませんし、WinMainが2つことになるのでウィンドウの生成もちゃんと直してあげてください。

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月24日(月) 15:12
by 神族
softya(ソフト屋) さんが書きました:Mixer.cはC言語のファイル名なのでC++/CLIとしてコンパイルできません。
Mixer.cppにして、#include "stdafx.h"追加。
だだ、コンパイルできてもリソースやら何やらちゃんとしてあげないとコンパイルは通りませんし、WinMainが2つことになるのでウィンドウの生成もちゃんと直してあげてください。
Mixer.cppに変えて#include "stdafx.h"とリソース変えたけど次はこのエラーが来ました
エラー 1 error C1083: プリコンパイル済みヘッダー ファイルを開けません。

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月24日(月) 15:14
by 神族
神族 さんが書きました:
softya(ソフト屋) さんが書きました:Mixer.cはC言語のファイル名なのでC++/CLIとしてコンパイルできません。
Mixer.cppにして、#include "stdafx.h"追加。
だだ、コンパイルできてもリソースやら何やらちゃんとしてあげないとコンパイルは通りませんし、WinMainが2つことになるのでウィンドウの生成もちゃんと直してあげてください。
Mixer.cppに変えて#include "stdafx.h"とリソース変えたけど次はこのエラーが来ました
エラー 1 error C1083: プリコンパイル済みヘッダー ファイルを開けません。
プロパティ設定でプリコンパイル済みヘッダーを使用しない にしたら
エラー 1 error C2664: 'GetMasterMute' : 1 番目の引数を 'LONG *' から 'BOOL *' に変換できません。
ってサンプルソースのエラーがでた

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月24日(月) 15:18
by softya(ソフト屋)
> エラー 1 error C2664: 'GetMasterMute' : 1 番目の引数を 'LONG *' から 'BOOL *' に変換できません。

そこはBOOLに直してください。
オフトピック
やはり、C++/CLIは初心者が扱う言語じゃないですね。C++をある程度熟練した人が使うべきだと私は思います。
入門書が出ているけど、あんな浅い説明で使えるわけがないです。

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月24日(月) 15:22
by 神族
softya(ソフト屋) さんが書きました:> エラー 1 error C2664: 'GetMasterMute' : 1 番目の引数を 'LONG *' から 'BOOL *' に変換できません。

そこはBOOLに直してください。
BOOL*をBOOLに?簡単に言えばポインター外せばOKなの?

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月24日(月) 15:25
by 神族
神族 さんが書きました:
softya(ソフト屋) さんが書きました:> エラー 1 error C2664: 'GetMasterMute' : 1 番目の引数を 'LONG *' から 'BOOL *' に変換できません。

そこはBOOLに直してください。
BOOL*をBOOLに?簡単に言えばポインター外せばOKなの?
あ!上手くコンパイルできたw&lValを(BOOL *)&lValにしたら成功したwでも、これで良いのかな?

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月24日(月) 15:30
by softya(ソフト屋)
神族 さんが書きました:
softya(ソフト屋) さんが書きました:> エラー 1 error C2664: 'GetMasterMute' : 1 番目の引数を 'LONG *' から 'BOOL *' に変換できません。

そこはBOOLに直してください。
BOOL*をBOOLに?簡単に言えばポインター外せばOKなの?
関数がBOOL GetMasterMute(BOOL *Val)なんですからBOOL*じゃないとダメですよね。
LONG型の変数を使っている時点で元のソースコードに問題があるんですが、BOOL型にしてください。

>あ!上手くコンパイルできたw&lValを(BOOL *)&lValにしたら成功したwでも、これで良いのかな?

必要のないキャストは避けてください。バグのもとです。

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月24日(月) 15:44
by 神族
softya(ソフト屋) さんが書きました:
神族 さんが書きました:
softya(ソフト屋) さんが書きました:> エラー 1 error C2664: 'GetMasterMute' : 1 番目の引数を 'LONG *' から 'BOOL *' に変換できません。

そこはBOOLに直してください。
BOOL*をBOOLに?簡単に言えばポインター外せばOKなの?
関数がBOOL GetMasterMute(BOOL *Val)なんですからBOOL*じゃないとダメですよね。
LONG型の変数を使っている時点で元のソースコードに問題があるんですが、BOOL型にしてください。

>あ!上手くコンパイルできたw&lValを(BOOL *)&lValにしたら成功したwでも、これで良いのかな?

必要のないキャストは避けてください。バグのもとです。
てことはlValのLONG型をBOOL型にしればOK?

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月24日(月) 15:52
by softya(ソフト屋)
OKですが、C/C++の基礎的文法レベルの疑問ですので勉強をお願いします。

C++/CLIをマトモにやるには、このぐらいは勉強しないといけませんけどね。
「C++/CLI 言語仕様書」
http://vene.wankuma.com/ecma372/StartingState.aspx

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月24日(月) 15:54
by 神族
softya(ソフト屋) さんが書きました:
神族 さんが書きました:
softya(ソフト屋) さんが書きました:> エラー 1 error C2664: 'GetMasterMute' : 1 番目の引数を 'LONG *' から 'BOOL *' に変換できません。

そこはBOOLに直してください。
BOOL*をBOOLに?簡単に言えばポインター外せばOKなの?
関数がBOOL GetMasterMute(BOOL *Val)なんですからBOOL*じゃないとダメですよね。
LONG型の変数を使っている時点で元のソースコードに問題があるんですが、BOOL型にしてください。

>あ!上手くコンパイルできたw&lValを(BOOL *)&lValにしたら成功したwでも、これで良いのかな?

必要のないキャストは避けてください。バグのもとです。
まぁー必要ないメソッドだと思うので削除しましたけど、これでキャスト以外の問題ないかな?

Re: VC++ ミキサー ヘルプミー!

Posted: 2012年12月24日(月) 16:22
by 神族
softya(ソフト屋) さんが書きました:OKですが、C/C++の基礎的文法レベルの疑問ですので勉強をお願いします。

C++/CLIをマトモにやるには、このぐらいは勉強しないといけませんけどね。
「C++/CLI 言語仕様書」
http://vene.wankuma.com/ecma372/StartingState.aspx
一応上手く動きましたので色々教えてありがとう!そしてURL貼ってくれてサンキューw