- ベストアンサー
Bass.rbでMP3ファイルを再生できないエラーが発生する理由とは?
- DXRubyを使ったゲーム開発に興味を持ち、rubyの勉強を始めました。しかし、MP3ファイルを再生することができず困っています。
- Bass.rbを使ってMP3ファイルを再生しようとしましたが、「DL is deprecated, please use Fiddle」というエラーが発生しました。
- dllファイルは同じディレクトリに置いてありますが、検索しても解決策が見つかりませんでした。どうすればMP3ファイルを再生することができるのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>この文章はエラーではなく、正常に通ってるということでしょうか。 エラーではなく、警告メッセージです。 正常かどうかは主観的な判断なので、人によります。 メッセージの意味は前回の回答に書いたとおり。 処理は正常にされています。
その他の回答 (3)
- notnot
- ベストアンサー率47% (4900/10358)
ユーザーとしては特に気にする必要はありません。無視してください。 DLL等を呼び出す Ruby標準添付の DL というライブラリが非推奨になって、Fiddle というライブラリが代替物であるという意味です。プログラムを作る人に向けた警告メッセージなので、単なるユーザーの場合は無視でOKです。 Rubyのバージョンがさらに上がるとDLライブラリが標準添付から削除されてしまうかもしれず、それまでにプログラム開発者は対応が必要です。
補足
notnotさん 回答ありがとうございます。 >DLL等を呼び出す Ruby標準添付の DL というライブラリが非推奨になって、Fiddle というライブラリが代替物であるという意味です。プログラムを作る人に向けた警告メッセージなので、単なるユーザーの場合は無視でOKです。 ということは、 「DL is deprecated, please use Fiddle」 この文章はエラーではなく、正常に通ってるということでしょうか。 くどいようで申し訳ございません。
- ki073
- ベストアンサー率77% (491/634)
>require "fiddle"を追加したところ、 > DL is deprecated, please use Fiddle require "dl"となっている所を削除しないと二重にインストールされるので、書かれているエラーが出るはずです。 慣れておられないのでしたら2.0.0ではなく1つ前のruby 1.9.3に変えられたらいかがでしょうか。 bass.rbってどこで手に入るのでしょうか?freeだったらこちらでも見てみますが。
補足
ki073さん 再び回答ありがとうございます。 >require "dl"となっている所を削除しないと二重にインストールされるので、書かれているエラーが出るはずです。 bass.rb内のコードを探してみましたが、require "dl"という記述を見つけることができませんでした… >慣れておられないのでしたら2.0.0ではなく1つ前のruby 1.9.3に変えられたらいかがでしょうか。 ご助言ありがとうございます。 もう少し格闘してみて、無理そうでしたら1.93に変えてみようと思います。 >bass.rbってどこで手に入るのでしょうか?freeだったらこちらでも見てみますが。 見ていただけると、本当に助かります。 bass.rbは以下のURLからダウンロードできます。 http://dxruby.sourceforge.jp/cgi-bin/hiki.cgi?%A5%D5%A5%A1%A5%A4%A5%EB%C3%D6%A4%AD%BE%EC
- ki073
- ベストアンサー率77% (491/634)
質問欄に書いてある通りですが 「DL is deprecated, please use Fiddle」 DLは廃止されたのでFiddleを使えということです。 2.0.0ではそうなったようです。 require "fiddle"に変えてみてください。そのまま動くかはわかりませんが。
補足
回答ありがとうございます。 Bass.rbの冒頭に require "fiddle"を追加したところ、 DL is deprecated, please use Fiddle と全く同じエラーが出て、 require "Fiddle"を追加したところ、 DL is deprecated, please use Fiddle C:/Ruby200/lib/ruby/2.0.0/Fiddle.rb:43: warning: already initialized constant Fi ddle::RTLD_GLOBAL C:/Ruby200/lib/ruby/2.0.0/fiddle.rb:43: warning: previous definition of RTLD_GLO BAL was here C:/Ruby200/lib/ruby/2.0.0/Fiddle.rb:44: warning: already initialized constant Fi ddle::RTLD_LAZY C:/Ruby200/lib/ruby/2.0.0/fiddle.rb:44: warning: previous definition of RTLD_LAZ Y was here C:/Ruby200/lib/ruby/2.0.0/Fiddle.rb:45: warning: already initialized constant Fi ddle::RTLD_NOW C:/Ruby200/lib/ruby/2.0.0/fiddle.rb:45: warning: previous definition of RTLD_NOW was here という警告を受けました。
お礼
自分の知識が足りないことがよく知れて、とても助かりました。 ki073さんも丁寧な回答をしてくれて、本当にありがとうございました。 また助けていただけるとうれしい限りです。 回答ありがとうございました。