1 名前:名無しさん@お腹いっぱい。 [2009/01/08(木) 00:04:37 ID:nV39IrcM] *****完全sageマターリ進行!***** 自作ソフト開発者向けスレッドです。 要望・クレクレなどは作者本人が望んだ場合以外スルーで。 前スレ PSP自作ソフト開発スレ ver.8 schiphol.2ch.net/test/read.cgi/gameurawaza/1212946327/
110 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 13:38:07 ID:Woj44Ij6] ググった上で書くんだが、 sceIoOpenAsync等、〜Async系のAPI使ったサンプルって無いかな? これって別スレッドの負荷軽減の為にあるんだよね?
111 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 13:41:10 ID:UKEnbCrC] >>110 別スレッドというより、多重Openが出来るとかじゃなかったっけ? というかそれを利用しようと思うのが思いつかないので あれこれ試してソースを公開してくれ 非公式開発とはそんなもんだ
112 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 14:24:34 ID:Ek3oLRug] 別スレッド作るのマンドクセって奴が非同期I/O使うんじゃないのか?
113 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 14:28:42 ID:fGxDIVU/] >>112 別スレッドでも非同期I/Oは使わないかな? スレッドで別ファイルのIOだったとしても AsyncなしAPIだと後でOpenかけたほうは待ちにされそうな 過去にもプラグインで割り込みかけるやつ書いてる人が なんかこの辺で詰まっててその話聞いてると上で書いたような印象だったんだけどな
114 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 15:54:16 ID:IBAk4HD9] sceIoOpenAsyncのサンプルは forums.ps2dev.org の SDK Updated with sceMp3 stubs+headers にmp3読み込みで使った例があるよ
115 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 17:51:32 ID:xy9SCj98] 多重openしてなんか意味あるの
116 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 17:55:25 ID:uBO89wJb] >>115 音楽をメモリにあげないでファイルから読み込ませながら再生しつつ ゲーム用データ更新とか? あとアプリなんかもそうだね 音楽をメモリにおかないで再生しつつ、テキスト表示とか
117 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 18:32:34 ID:7q41rVKj] >>116 それ使ったら onsのdwaveの実用性が格段に上がりそう
118 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 18:35:25 ID:uBO89wJb] >>117 ただ、できるんじゃないかな?という憶測の域ね そういう用途で使うってのが今のところ無かったので実験してない
119 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 18:38:02 ID:h0JTMA/+] あれ、二つのファイルを同時に開くってPSPSDKでfopenとかでできたよな? DB開きながら検索結果をファイルに吐き出すとかやったが。 それとも、一つのファイルを同時に開くの?
120 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 19:39:37 ID:Ek3oLRug] 確か10個くらいまでしか同時にファイル開けなかった気がする
121 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 20:29:57 ID:pAEpZg7w] Async系ってただの非同期読み込みだろ? 多重オープンとか何の関係があるの? ファイルハンドル数の上限なんか非同期読み込みした所で増える訳じゃないんだし
122 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 21:17:45 ID:A9UCHx9T] >>117 ストリーミング再生で十分だろ 数百KBのoggをメモステからチョコチョコ読み込むとかただでさえ重いONSの負荷が増えるだけ
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 21:23:08 ID:A9UCHx9T] チョコチョコ読み込むのもストリーミングだったな… 俺が言ってるのはoggをメモリに読み込んでストリーミングする方ね
124 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 21:30:21 ID:7q41rVKj] >>123 いや言いたい事はわかるから大丈夫 でも別にストリーミング再生でなくてもいいんだよ。 dwaveloadとかをテキスト表示とは別に裏方で読んでもらえる仕組みになってたら 不自然なラグが消えて快適になるだろうなと思っただけ。 スレチだねごめん
125 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/21(水) 23:09:24 ID:A9UCHx9T] 読み込み時に止まるのを改善したいのなら別スレッドでデコード処理させて dwaveplay時にデコードが終了してるか調べれば実装できると思うが ONSの話はPSPでエロゲースレの方が適切かな
126 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/22(木) 13:07:29 ID:K1VBJzJt] >>114 thx! 参考にしてみるよ。
127 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/25(日) 11:32:30 ID:7FSJuGT/] お茶受けにロールケーキ いりませんか〜♪ `∧_∧ (・∀・ ) @ 0┬0)囗-| ̄ ̄ ̄| ◎┴し-◎  ̄◎ ̄ 〜
128 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/25(日) 17:12:23 ID:jFEHE3rr] 前スレにあったsfl〜の音楽ライブラリのサンプルがうまくいかなかったけど あれは指定されたビットレートじゃないと駄目系なの?
129 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/25(日) 21:01:14 ID:XsJ2Dxx3] /* 試験対策用に画像で問題を出して○△□×で答えるようなのを妄想してた。 よく考えたらJavaとC++しかわからなかった。 */
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/25(日) 23:11:55 ID:LCtQjily] 無圧縮zipフォルダを作成してその中にファイルをいれられるような自作ソフトは作れますか? ネット上にアップロードする際にファイルを一つずつアップロードするのが大変なので・・・
131 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/25(日) 23:17:15 ID:Q1DJZ3cM] pc使え 以上
132 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/25(日) 23:36:17 ID:LCtQjily] はい
133 名前:名無しさん@お腹いっぱい。 [2009/01/25(日) 23:44:23 ID:sTBIJpIr] 可能 めんどくさいからおれはつくらんが
134 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/26(月) 00:06:47 ID:vX1knrCz] たしかうんこブラウザとか言う奴にgzip形式で圧縮できるのあったな 複数ファイルで出来るか知らんが
135 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/26(月) 00:58:49 ID:4ylfnyiH] なんで無圧縮zipなんだ? 普通のzipでいいじゃないか
136 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/26(月) 04:40:04 ID:t6uNdNIT] >>128 wave再生なら、Header44バイト固定+44.1kHz,16bit,2ch固定 返り値チェックしてみるといいかも
137 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 00:08:04 ID:orY1lRwT] pspaudiolibつかえばもっと簡単に再生できるんじゃないのか?
138 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 05:15:11 ID:LxE7cims] ぶっちゃけwaveもmp3も負荷全く変わらないんでメモリ消費量の少ないmp3使えってこった 市販ゲームも効果音みたいな短い音声ですらatracかなんかの圧縮形式使ってるはず
139 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 07:27:41 ID:Vl58wFup] いやいや、どう考えてもmp3の方が負担が高いだろ。
140 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 08:06:52 ID:7zziUyeM] 突っ込みどころ満載だなwww
141 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 08:08:24 ID:ujyZ1bj5] pspaudiolibを使うとサウンドをCPUで処理するけど、 mp3ならオーディオユニット側で処理するから負荷率が変わらないってことだと思う とはいえ、音加工が全くできないからwavがいらないってのは同意できないけど
142 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 10:02:15 ID:AzPcwSXk] 実際、MediaEngine使えば負荷は変わらない 音の編集は開発環境で前もってやってればすむだろ どんだけにわかが多くなってんだ
143 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 18:06:09 ID:ouJlAi9I] mp3って同じ音の多重再生出来るの? 個別にパン振れるの?
144 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 18:33:39 ID:LxE7cims] waveと比べたらほんの少しだけmp3のほうが処理量多いけど (mp3フレームをmeになげてデコードされたサンプルをもらうあたりがwaveにはない処理) 全体からすれば無視できるレベル >>141 出力バッファにデータ入れるだけのことをCPUで処理とは言いすぎじゃないだろうか mp3でもデコードしたデータをmemcpyなりでバッファに入れないといかんわけだが >>141 ,143 デコードすればmp3もwaveも同じデータになる つまりそういうことだ
145 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 18:35:33 ID:Vl58wFup] >>142 アホか メディアエンジンのリソースを使うだろw メディアエンジンをmp3再生にしか使わないにわかには分からないだろうな
146 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 18:39:47 ID:LxE7cims] meを音声デコード以外に何に使っているのか詳しく
147 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 18:42:19 ID:Vl58wFup] 負担がかかる処理
148 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 18:48:23 ID:ejnpGFKh] ライブラリ化してリンクさせるのってどうすりゃいいの?
149 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 22:07:31 ID:9pMGU8Qi] ar使え 詳しくはman ar もしくはwww.google.co.jp/search?hl=ja&q=ar+%E9%9D%99%E7%9A%84%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
150 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 22:19:56 ID:me3u1uLr] >>146 JPEGの展開
151 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 22:30:08 ID:ejnpGFKh] >>149 無理矢理組み込んだけどサンクス wikiのwav再生サンプル使って他の圧縮形式を再生しようとしてるんだが 少し鳴る→ノイズ が1秒間隔でなるんだが、これはデコードが追い付いてないってことでいいのか?
152 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/27(火) 22:55:04 ID:Vl58wFup] >>151 そう考えていいと
153 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 07:15:42 ID:eTeUYNy4] >>150 方法を教えてくれ ハードで出来るのならわざわざライブラリ使ってるのがあほらしい
154 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 13:14:15 ID:4M6IAwTP] VAGのデコーダってPSP側に用意されているんだろうか。 起動音とかに使われている形式だから簡単に鳴らせるんだよな、たぶん。 わからなくてソフトウェアでデコーダ作ったんだけど重くて…。
155 名前:151 mailto:sage [2009/01/28(水) 14:33:22 ID:qWTcDOt6] >>151 だがどうやらデコードが遅かったんじゃなくてバッファ取りがいけなかったようだ。 今は 少し鳴る→少し止まる→少し鳴る な感じだけど、これを連続に再生するにはどうすりゃいいんだろう? ボトルネックはsceAudioOutputBlockingか読み出しにあると思うんだが 別スレッドに分けたほうがいいのか?
156 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 15:51:20 ID:1Q3BnFMa] >>155 バッファを請求されてからデコードしてるの?
157 名前:151 mailto:sage [2009/01/28(水) 16:49:28 ID:0OXffWh3] >>156 wav初期化 ↓ デコーダ初期化 ↓ ループ ↓ デコード ↓ デコードした奴をsceAudioOutputBlockingに渡す ↓ ループ終わり って感じだがだめなのか?
158 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 16:53:34 ID:3ECV5cae] デコード1 - 何もしない デコード2 - 再生1 デコード3 - 再生2 デコード4 - 再生3
159 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 18:03:32 ID:0yAHGq+Q] >>151 とりあえず、バッファを2つ使って交互にデコードと再生。 再生中にもう一つのバッファにデコードって感じで。
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 18:44:58 ID:gLiAzoaz] >>151 圧縮された音声を再生する場合はsceAudioOutputBlockingはあまり向いてない 普通は再生中に次の分のデータをデコードするのだがsceAudioOutputBlockingだと バッファが半分(1個分)になるまで処理が止まるのでデコードする暇が無い ってどこかのブログか掲示板に書いてあった >>153 別にソフトでもMEに乗っけられるのでハードは関係ないと思うが つpspjpeg
161 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 19:42:36 ID:/jmo1pWv] デコードスレッドと再生スレッドを分けてみたことがあるが、同一スレッドでも全然問題なかった件 これもそんな風に書かれてる ttp://hp.vector.co.jp/authors/VA027858/mixer-rev4.7z
162 名前:151 mailto:sage [2009/01/28(水) 20:19:06 ID:S2rvzmwj] >>160 同一スレッドでデコード sceAudioOutputBlocking:途中で詰まる sceAudioOutput:ノイズが入る。詰まる 別スレッドでデコード sceAudioOutputBlocking:なんというか詰まるところで2度鳴るような感じ sceAudioOutput:Blockingがないぶんところどころ端折って再生される バッファ数増やしても変わらず
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 20:53:13 ID:8dkTi2Av] pspjpegは使い方がわからない。 モーションJPEGのフレームバッファを送るみたいな感じだけど…。
164 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 21:04:10 ID:/jmo1pWv] バッファがちゃんと埋まってないだけなんじゃね Blockingなしのほうは再生待ちサンプル数がゼロになるのをbusy loopで監視しないとダメだぞ
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 21:15:02 ID:gLiAzoaz] >>162 俺はoggをsceAudioOutputで同一スレッドで処理して綺麗に再生されたけど >>163 普通のjpegを投げてもデコードしてくれるみたいだよ ogg再生しながらjpgを連続でデコードしても80fpsぐらい出るとか 使えるって話は聞いたけど使い方はわからん >>164 サンプル数が0になってから送るんじゃ遅くね? Blockingだとバッファが半分になったら処理戻ってくるし
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 21:17:13 ID:i3VdRW4b] お前らわけのわからんことで盛り上がれていいな 俺の中身の無い頭は開発環境導入だけで燃え尽きてしまった
167 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 21:53:41 ID:0yAHGq+Q] >>162 もうなんだか解らないので、ソース晒せ。
168 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 21:53:45 ID:clGtMs/0] >>165 sceJpegInitMJpeg()sceJpegCreateMJpeg()してsceJpegDecodeMJpeg()に、 fopenで開いたJPEGとu32の領域を指定したけどうまくいかんかった。 MJpegってくらいだから普通のやり方じゃなめなんじゃない?
169 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 22:30:03 ID:1kwLvUuQ] 導入でエラーでるwwww何時間奪うんだよwwwwwしにたい
170 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 22:44:51 ID:T+mmXFni] PSP_HEAP_SIZE_KB(-128);にしてsceKernelMaxFreeMemSize(), sceKernelTotalFreeMemSize()をしたのですが、 1.4MBくらいしか確保できていませんでした。 toolchainのリビジョンは2452なので最新だと思います。 なんででしょうか?どうすればいいでしょうか?
171 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 22:52:39 ID:oautj1R+] >>170 つい最近どっかのブログのコメントで似たような話してたような気がする
172 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 22:57:54 ID:/jmo1pWv] >>170 ループ回して1MBずつくらいmallocしてみ
173 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 23:13:50 ID:T+mmXFni] >>172 char* str[30]; int i; for(i = 0; i < 30; i++) { str[i] = (char*) calloc (1, 1 * 1024 * 1024); } str[29] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; printf("%s\n", str[29]); printf("MAX = %d, TOTAL = %d", sceKernelMaxFreeMemSize(), sceKernelTotalFreeMemSize()); よくわからないから適当にやったけどこんな感じ? 一応aaaaaaaaaaaaaaaaaaaaa...って表示されたけど。 MAP = 1032192 TOTAL = 1421312だって
174 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 23:16:02 ID:T+mmXFni] ちなみに .c PSP_MODULE_INFO("etc...", PSP_MODULE_USER, 1, 1); PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER); Makefile PSP_LARGE_MEMORY = 1 PSP_FW_VERSION = 371 という風になっています。
175 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 23:25:45 ID:/jmo1pWv] 何回目のmallocでメモリ確保失敗してNULLが帰ってくるか調べれば どれだけのメモリを使えるのか分かるジャマイカ
176 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/28(水) 23:38:25 ID:T+mmXFni] >>175 ありがとう 67MB目から確保できないとエラーが出た。 そこまでは大丈夫みたいだから表示されてなくても使えるって事だね。 スッキリ。
177 名前:名無しさん@お腹いっぱい。 [2009/01/29(木) 00:06:40 ID:865qfhyU] >>173 どーでもいいが、確保した領域にaaa〜を入れたければ、strcpyとか使えよ…
178 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 01:00:43 ID:PU3sQWvg] >>171 ttp://blog.livedoor.jp/tormtorm/archives/51199226.html#comments
179 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 01:06:05 ID:mvWog3Uz] 直リンは駄目だって
180 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 01:08:44 ID:pOg7J0I+] 生リンはらめぇ
181 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 01:20:20 ID:5v5Ehiog] リンってなんかエロくね?
182 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 08:46:58 ID:gOGwVTMd] >>178 見る限り答え出てるのに聞いてくる>>170 は馬鹿なの? もしかしていつもONS関係の話出してる奴?
183 名前:151 mailto:sage [2009/01/29(木) 10:48:42 ID:Ti5Bby/p] >>164 busy loopわかんね バッファがどれくらい消費されたかってのは測れるもんなの?
184 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 21:03:18 ID:r2eZdVKk] たぶん誰も作って無いと思うPSP専用メールブラウザを開発中。。あと一歩でリリースできるんだが、送受信安定せず。。ふと気づけば3ヶ月たってしまった(-_-;) そもそもメルブラ需要なのだろうか。。?
185 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 22:58:20 ID:C8Q+Gnfx] >>184 schiphol.2ch.net/test/read.cgi/gameurawaza/1204284215/ え?関係ない?そうか…
186 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 23:11:42 ID:z7pUOQ7S] そこってただの糞スレと化してるじゃんw メモステ内のファイルを添付や添付ファイルをメモステに保存できるなら欲しいな ただのメールなら公式ブラウザでできるし
187 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 23:14:50 ID:Ns6Cx+nf] 最近メールなんてやってないから むしろTwitterクライアントが欲しい・・・
188 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/29(木) 23:18:15 ID:r2eZdVKk] >>186 そこなんだ。。 軽さをメインにやってるから、最低限の機能でいいかと(^_^;) あ、そのスレワケわかんない。。作る気あんの?って感じ〜笑
189 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 01:11:13 ID:tvWnDLRV] >>184 ノートPC持ってかれて使えない時にPSPのブラウザからヤフーメール使ってるんだが そこ行くのが面倒だし広告多くて読み込みが遅くて困ってる 是非頼む
190 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 04:57:34 ID:bTORGN7M] 携帯でヤフーメール使えばいいじゃん。 PSPより打ち込みやすいしどこでも使えるだろ。
191 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 12:52:51 ID:0sBaC6r/] >>184 俺は期待してる! 日本語OSKもリリースされてることだし大いに期待するよ!
192 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 12:53:58 ID:n6jl4Axf] >>184 じゃあ俺も期待してることにしとこう 何だかよく分からないけど
193 名前:151 mailto:sage [2009/01/30(金) 15:11:32 ID:BHD+NTMg] とりあえずそれっぽいの見つけた int sceAudioWaitInputEnd (void) Wait for non-blocking audio input to complete. int sceAudioPollInputEnd (void) Poll for non-blocking audio input status. でもだめだったわ。
194 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 18:25:52 ID:4lbT16VX] >>151 これを参考にするといい。 www.psp-hacks.com/file/970 ちなみにsceAudioOutputPannedBlockingでは初回の呼び出しではすぐ戻ってくるが、 2回目の呼び出しは前回の呼び出しでの再生が終わってから戻ってくる、というのをどこかで読んだ。 sceAudioOutputBlockingでも同じだと思う。
195 名前:151 mailto:sage [2009/01/30(金) 19:03:06 ID:BHD+NTMg] 今のところ sceKernelDelayThread(20 * sceAudioGetChannelRestLen(pcmhandle)); while (sceAudioGetChannelRestLen(pcmhandle) > 63) { } sceAudioOutput(pcmhandle,PSP_AUDIO_VOLUME_MAX,sample_buffer[index]); これで最初は大丈夫だが、少しづつ同じ音が2度鳴るようになる デコーダ側のバッファの取り方がいけないっぽい感じがしてきた >>194 サンクス
196 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 19:40:07 ID:mP8atEzU] PSP自作ソフトプログラミング開発wikiをみてcygwin+psptoolchainで環境を構築しようしてるんだけど 009-psplinkusb.sh:Failed というエラーがでました、 009は無視すればいいと過去ログに書いてあったんですけど、 008-*****.shまでインストールするように指定するには どこをいじればいいの? あと全部インストールしたら容量どのくらいとるの?もう空き容量が1Gちょいしかない
197 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 19:47:11 ID:ocnMH6lu] >>196 過去レス見れ
198 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 20:13:17 ID:f4i1buLm] >>195 なぜ63 0でいいんじゃね
199 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 20:40:01 ID:Bmu3MFEE] サウンドの再生で躓いてるようじゃ先が思いやられる… PSPプログラミング以前の問題じゃね?
200 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 20:43:31 ID:mP8atEzU] ごめん、これだけ教えて、cygwin+psptoolchainで作ったアプリは psp-2000でも動く?
201 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 20:44:05 ID:ocnMH6lu] >>200 やれば分かる
202 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 20:45:23 ID:mP8atEzU] 手厳しいスレだなwwwww分かった試すわ
203 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 20:59:48 ID:4lbT16VX] >>200 動く。 2000で増えたメモリを使うにはMakefileをいじる必要があるが。
204 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 21:06:14 ID:mP8atEzU] >>203 ありがとう!!不安要素が一つきえました!
205 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 23:11:32 ID:hFvtCwtJ] >>199 151はwav以外の形式を再生しようとしてるんじゃないのか? wavすら再生できないわけじゃないだろ というわけで151はさっさとソース晒せ レス見る限りだとダブルバッファが機能してないんじゃないか?
206 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 23:56:23 ID:EBMkWSlW] >>195 これ… whileのなかほんとに{}ではないよね? sceKernelDelayThreadとかいれないと 音途切れたりしない?
207 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/31(土) 02:13:03 ID:OWB2pAaN] 普通にBlocking使えば何の問題もないのに
208 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/31(土) 03:17:39 ID:3lYqzxAb] >>190 俺、携帯電話持ってないんだ 買おうかしら…
209 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/31(土) 06:07:58 ID:duNZ74n+] >>205 wav(PCM)を途切れなく再生できるなら、デコード処理を追加するだけなんだが PSPのCPUなら(クロック数を下げてなければ)デコードが追いつかないことはまず無い あれだけレスもらっててまだ再生できないのは基本がわかって無いんじゃね? PSPとか関係なく、ダブルバッファで再生する方法とか >>151 はWin向けの解説とか見るのもオススメ
210 名前:151 mailto:sage [2009/01/31(土) 12:06:37 ID:uFD6DjCd] >>205 #define MAX_BPS 24 // Max supported Bit resolution #define MAX_NCH 8 // Max supported number of channels #define MAX_BSIZE (MAX_BPS>>3 ) #define BUFFER_NUM 2 #define BUFFERS_NUM 4608 static char sample_buffer[BUFFER_NUM][BUFFERS_NUM * MAX_BSIZE * MAX_NCH] __attribute__((aligned(64))); int pcmhandle; int main(){ //初期化略 pcmhandle=sceAudioChReserve(PSP_AUDIO_NEXT_CHANNEL,BUFFERS_NUM,PSP_AUDIO_FORMAT_STEREO); int index = 0; SceUID thid = sceKernelCreateThread( "sound_thread", sound_thread, 18, 65536, PSP_THREAD_ATTR_USER, 0 ); sceKernelStartThread(thid, 0, 0);//最初の分のデコード sceKernelDelayThread(10000); while(1){ sceCtrlReadBufferPositive(&pad, 1); sceKernelDelayThread(20 * sceAudioGetChannelRestLen(pcmhandle));//少し休む while (sceAudioGetChannelRestLen(pcmhandle) > 63) { } //busy loop? sceAudioOutput(pcmhandle,PSP_AUDIO_VOLUME_MAX,sample_buffer[index]); index = (index + 1) % BUFFER_NUM;//バッファ切り替え sceKernelStartThread(thid, 0, 0);//再生している間に次のをデコード if ((pad.Buttons & PSP_CTRL_CROSS)){//強制終了用 player_stop (); sceKernelDelayThread(100000); break; }//ifend }//whileend //終了処理略 }//mainend //ここからデコードスレッド int sound_thread(unsigned int args, void *argp) { static int index = 0; counter +=decode2wav(sample_buffer[index]);//デコードしてバッファに格納。これは使用している圧縮形式のライブラリにあったもの index = (index + 1) % BUFFER_NUM; sceKernelExitThread(0); return 0; }//ここまで >>206 いやこれであってるよ。 逆にこれしないと早送りになる。 まあ途切れるといえば途切れるけど。