人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ズバリ回答100pt+いるか差し上げます。
iPhoneプログラミングの質問です。

iPodで曲を再生しながら起動するアプリから、
その曲をフェードアウトし、アプリで音を再生し、
それが終わると、フェードインで元々の曲を
再生するコードを教えてください。

iPhoneアプリケーションプログラミングガイド
http://developer.apple.com/jp/iphone/library/documentation/iPhoneAppProgrammingGuide
は見ていますが、そういう解説はなさそうで、
自前でiPodライブラリから再生する方法
なら、なんとかなりそうですが・・・

●質問者: yellowberry
●カテゴリ:コンピュータ ゲーム
✍キーワード:iPhone iPhoneアプリ iPod いるか アプリ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● peach0pit
●10ポイント

http://d.hatena.ne.jp/iphone_dev/20080924/1222254670

こちらにご希望に近いプロジェクトファイルがあるかと思います。

◎質問者からの返答

ありがとうございます。

情報は、まさに求めていたものですが、

プロジェクトファイルがダウンロード

期限を過ぎていて・・・

説明だけでも、API名や考え方のヒントは

散りばめられていますが、もう少し

詳しい情報が欲しいです。


2 ● cockscomb
●100ポイント ベストアンサー

同じような質問がStackOverflowにありました。

http://stackoverflow.com/questions/386111/why-does-ipods-audio-n...

MediaPlayer.frameworkをインポートしてiPodライブラリにアクセスし、一時停止させているようです。

http://developer.apple.com/iphone/library/documentation/MediaPla...

フェードアウトの処理は、おそらく

float volume = [MPMusicPlayerController iPodMusicPlayer].volume;

として最初のボリュームを覚えておいて、NSTimerなどのループを使って

float currentVolume = [MPMusicPlayerController iPodMusicPlayer].volume;
if (currentVolume > 0.1) {
 [MPMusicPlayerController iPodMusicPlayer].volume = currentVolume - 0.1;
} else if (currentVolume != 0) {
 [MPMusicPlayerController iPodMusicPlayer].volume = 0;
}

を繰り返すことで音量を0にして、最終的には

[[MPMusicPlayerController iPodMusicPlayer] pause];
[MPMusicPlayerController iPodMusicPlayer].volume = volume;

として一時停止させます。

そして任意の音声を再生した後、

[MPMusicPlayerController iPodMusicPlayer].volume = 0;
[[MPMusicPlayerController iPodMusicPlayer] play];

として再生を始め、やはりNSTimerなどのループでフェードインさせていきます。

float currentVolume = [MPMusicPlayerController iPodMusicPlayer].volume;
if (currentVolume < (volume - 0.1)) {
 [MPMusicPlayerController iPodMusicPlayer].volume = currentVolume + 0.1;
} else if (currentVolume != volume) {
 [MPMusicPlayerController iPodMusicPlayer].volume = volume;
}

僕自身このあたりの処理に詳しくないためあまり自信がありませんが、解決の一助となれば幸いです。

◎質問者からの返答

ご回答ありがとうございます。

すぐに試せませんが、かなり有力

(まだObjective-Cに不慣れながらも納得&理解できる)

情報です。

追って、結果をご報告します。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ