Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHP で mp3 プレイヤーを実装しよう
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
memory
PRO
April 11, 2026
Programming
290
0
Share
PHP で mp3 プレイヤーを実装しよう
PHP カンファレンス小田原 2026
memory
PRO
April 11, 2026
More Decks by memory
See All by memory
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
580
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
190
AI 時代だからこそ学ぶべき PHP の基礎
m3m0r7
PRO
7
2.3k
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
570
コードゴルファー道
m3m0r7
PRO
0
580
ChatGPT とつくる PHP で OS 実装
m3m0r7
PRO
3
490
事業観点から見る技術的負債の返済
m3m0r7
PRO
4
1.2k
PHP でアセンブリ言語のように書く技術
m3m0r7
PRO
1
270
PHP でアセンブリっぽく書く技術
m3m0r7
PRO
1
180
Other Decks in Programming
See All in Programming
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
6
3.5k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
Back to the roots of date
jinroq
0
390
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
650
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
250
AIと共に生きる技術選定 2026
sgash708
0
110
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
2
380
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
760
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
1.2k
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
150
NakouPAY説明用
annouim0
0
260
エラー処理の温故知新 / history of error handling technic
ryotanakaya
4
940
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
290
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.2k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Designing for humans not robots
tammielis
254
26k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
230
A designer walks into a library…
pauljervisheath
211
24k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Transcript
ΊΓʔ 1)1ͰNQϓϨΠϠʔΛ ࣮͠Α͏ 1)1ΧϯϑΝϨϯεখాݪ 1
ΊΓʔ NNS ιϑτΣΞΤϯδχΞ͔ΒΩϟϦΞ͕࢝ ·ΓɼελʔτΞοϓ্اۀͰ$50 ͱͯ͠׆ಈɻ ݱࡏελʔτΞοϓͰ$50Λ͍ͯ͠·͢ɻ 2 NFNPSZ NNS
3
Έͳ͞Μ͕1)1ͰNQϓϨΠϠʔΛ ࣮͢Δͱͨ͠Β 4
ԿΛࢥ͍ු͔·͔͢ʁ 5
ͬͺΓ)5.-+BWB4DSJQUͱ Ͳ͏Έ߹ΘͤΔ͔Ͱ͢ΑͶʁ 6
ͦΜͳͷΦϞϯφΠΑͶʙ 7
ͦΜͳΘ͚Ͱ༻ҙ͖ͯ͠·ͨ͠ 8
9 https://github.com/m3m0r7/php-mp3-player
ͱ͍͏͜ͱͰࠓ 10
1)1ΛͬͨωΠςΟϒΞϓϦͱͯ͠ NQϓϨΠϠʔΛ࣮͢ΔϋπʔΛ͓͠·͢ 11
1)1ΛͬͨωΠςΟϒΞϓϦͱͯ͠ NQϓϨΠϠʔΛ࣮͢ΔϋπʔΛ͓͠·͢ 12
NQϓϨΠϠʔͷ࡞Γํ 1)1Λ༻͍࣮ͨखॱ %&.0 ·ͱΊ 13 ͘͡
NQϓϨΠϠʔͷ࡞Γํ 14
࡞Γํछྨ͋Δ NQσίʔμʔ͔Βͷࣗ࡞ қߴ NQͷόΠφϦΛཧղͯ͠ɼஞ࣍ಡΜͰ͍͘ํ๏ طͷϥΠϒϥϦΛ༻͍Δ қத
طͷNQσίʔμʔΛ༻͍࣮͍ͯͯ͘͠ํ๏ 15 NQϓϨΠϠʔͷ࡞Γํ
࡞Γํछྨ͋Δ 16 NQϓϨΠϠʔͷ࡞Γํ σίʔμͷࣗ࡞ طϥΠϒϥϦΛ༻͍Δ ֶश NQͷߏΛཧղͰ͖Δ ϥΠϒϥϦͷ͍ํΛֶΔ ࣝ ֶͷ͕ࣝඞཁʹͳΔ
ʢࡾ֯ؔɼඍੵɼϑʔϦΤมͷࣝ ͳͲʣ ϥΠϒϥϦͷ"1*Λୟ͚ͩ͘ ߴԽ 1)1Ͱಈ͔͢Ҏ্ඞਢ طʹ͞Ε͍ͯΔ
NQͷߏ 17
*%W *%Wҙ 18 NQͷߏ
*%W *%Wҙ 19 NQͷߏ
ΦʔσΟΦϑϨʔϜ 20 NQͷߏ
ΦʔσΟΦϑϨʔϜ 21 NQͷߏ
ΦʔσΟΦϑϨʔϜ 22 NQͷߏ ྲྀੴʹɼ͜ΕΛ1)1Ͱ ಡΉͷΠΧπ͘ͳ͍ʂʁ
1)1ͰಡΉͷ͕ΠΧπ͍ཧ༝બ 23
ѹॖϨʔτ͕LCQTͩͱ͢Δͱ L)[ͷ߹ඵؒʹճલޙ ΦʔσΟΦϑϨʔϜΛಡΜͰͦΕΛ࠶ੜ͢ΔͨΊͷ σόΠεͱํʹ௨৴͢Δ༨ྗΛ͢ߴԽ͕ඞਢ 24 1)1ͰಡΉͷ͕ΠΧπ͍ཧ༝બ
ʜࢲ1)1Ͱ6CVOUVΛΤϛϡϨʔτ ֶͯ͠ͼ·ͨ͠ 25
ײతʹΘ͔Γ·͢ 26
͓ͪΌͱ࣮ͯ͢͠Δʹϋʔυϧ͕ߴ͍ 27
ΈΜͳ؆୯ʹͰ͖ͨ΄͏͕͍͍ΑͶʂʁ 28
ͱ͍͏Θ͚Ͱ 29
αΫοͱ࡞Εͨํָ͕͍͠ͱࢥ͏ͷͰ طϥΠϒϥϦΛ͏ํ๏Ͱղઆ͠·͢ 30
࡞Γํछྨ͋Δ NQσίʔμʔ͔Βͷࣗ࡞ қߴ NQͷόΠφϦΛཧղͯ͠ɼஞ࣍ಡΜͰ͍͘ํ๏ طͷϥΠϒϥϦΛ༻͍Δ қத
طͷNQσίʔμʔΛ༻͍࣮͍ͯͯ͘͠ํ๏ 31 NQϓϨΠϠʔͷ࡞Γํ
1)1Λ༻͍࣮ͨखॱ 32
''*Λ༻͍ͯ$ϥΠϒϥϦΛݺͼग़͢ 1)1͔Β''*ʢ'PSFJHO'VODUJPO*OUFSGBDFʣ͕ಋೖ ͞Εͨɻ 1)1Ϣʔβʔʹͱͬͯͷ֦ுɻʮ͜ΕͰωΠςΟϒΞ ϓϦ͕࡞ΕΔͧʜʂʯͱ $ϥΠϒϥϦΛݺͼग़ͤΕͳΜͰͰ͖Δɻ աڈʹ1)1Ͱ/'$ϦʔμʔΛ࡞ͬͨΓ͠·ͨ͠ɻ 33
1)1Λ༻͍࣮ͨखॱ
༻ҙ͢Δͷ 1)1 ''*Λ༗ޮʹͨ͠ͷ MJCNQH $Ͱॻ͔ΕͨNQσίʔυ༻ϥΠϒϥϦ
4%- 4JNQMF%JSFDU.FEJB-BZFS ωΠςΟϒΞϓϦέʔγϣϯͷ࣮Ͱը໘ʹϨϯμϦϯά͢Δͷʹ༻͍Δ 34 1)1Λ༻͍࣮ͨखॱ
''* 35 1)1Λ༻͍࣮ͨखॱ extern ͞ΕͨؔΛఆٛ ϚΫϩؔͳͲఆٛͰ͖ͳ͍ͷͰɼ ϔομʔϑΝΠϧΛͦͷ··షΓ͚Δ͚ͩͰ ಈ͔ͳ͍…͕΄ͱΜͲ.h ͷதΛషΔ͚ͩɻ
''* 36 1)1Λ༻͍࣮ͨखॱ ϥΠϒϥϦ·Ͱͷύε
''* 37 1)1Λ༻͍࣮ͨखॱ ϚδοΫϝιουͱͯ͠ ݺͼग़ͤΔΑ͏ʹͳΔ
ͱͯ؆୯Ͱ͢Ͷ ͜ΕΛMJCNQH 4%- ྆ํʹ͑0,Ͱ͢ 38
MJCNQH 39 1)1Λ༻͍࣮ͨखॱ ߏͷఆٛ mac ͷ߹ brew ͰೖΕͨ dylib ͷύε
FFI::cdef ͰߏମɾܕΛఆٛͯ͠ ͦΕΛؔʹ͢͜ͱ͕Ͱ͖Δ
4%- 40 1)1Λ༻͍࣮ͨखॱ mac ͷ߹ brew ͰೖΕͨ dylib ͷύε
4%- 4%-ͨͩΟϯυͷϨϯμϦϯάΛ͢Δ͚ͩͰͳ͘ɼΦʔσΟΦͳͲͷग़ྗ ѻ͏͜ͱ͕Ͱ͖·͢ɻϑΥϯτࢦఆͨ͠ͰϨϯμϦϯάͰ͖·͢ɻʢྫ/PUP TBOT+1Λ͍ͬͯ·͢ʣ ·ͨɼNQϓϨΠϠʔΛ࡞Δʹࡍͯ͠ॏཁͳʮ࠶ੜʯϘλϯͳͲΠϕϯτॲཧͱ͠ ͯϚεͷ࠲ඪʹԠͯ͡ൃՐͤ͞Δ͜ͱʹͳΓ·͢ɻ ͜ΕΒͷϘλϯγʔΫόʔͯ͢ํܗͷਤܗΛ͍͔ͭ͘ग़ྗ͍ͯ͠Δ͚ͩͰ͢ɻ
ʢ࠶ੜϘλϯएׯෳࡶͳͷͰ47(ϑΝΠϧΛಡΈࠐΊ0,ʣ 41 1)1Λ༻͍࣮ͨखॱ
4%- 42 1)1Λ༻͍࣮ͨखॱ ςΩετͷग़ྗ
4%- 43 1)1Λ༻͍࣮ͨखॱ mp3 ͔ΒΞʔτϫʔΫΛ நग़ͯ͠ग़ྗ
4%- 44 1)1Λ༻͍࣮ͨखॱ 3 छྨͷํܗʢγʔΫόʔͷഎ ܠɼਐḿήʔδɼϘλϯʣͰ ϨϯμϦϯά Ϙλϯʢํܗʣͷ࠲ඪΛཧղ͠ ͯɼγʔΫόʔɼϘϦϡʔϜΛૢ࡞ Ͱ͖ΔΑ͏ʹ͢Ε࣮Ͱ͖Δ
4%- 45 1)1Λ༻͍࣮ͨखॱ SVG + ํܗΛ༻͍ͯ ϨϯμϦϯά
%&.0 46
·ͱΊ 47
w1)1ͰNQϓϨΠϠʔΛ࡞Δͷͦ͜·Ͱ͘͠ͳ͍ ͦ͏''*͕͋ΕͶʂ wॻ͍͍ͯͳ͍Ͱ͕͢ɼಈըͷ࠶ੜͪΖΜͰ͖ΔͷͰϏ σΦϓϨΠϠʔͷ࣮ͪΖΜͰ͖·͢ɻ w͋ͳͨҰॹʹ1)1Ͱ͓Ζ͍ͷ࡞͍͖ͬͯ·͠ΐ͏ 48 ·ͱΊ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 49