Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PHP で mp3 プレイヤーを実装しよう
Search
memory
PRO
April 11, 2026
Programming
580
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHP で mp3 プレイヤーを実装しよう
PHP カンファレンス小田原 2026
memory
PRO
April 11, 2026
More Decks by memory
See All by memory
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
3
2.5k
pnl で簡易的に作る PHP ネイティブアプリケーション
m3m0r7
PRO
0
64
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
1
1.2k
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
320
AI 時代だからこそ学ぶべき PHP の基礎
m3m0r7
PRO
7
2.6k
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
650
コードゴルファー道
m3m0r7
PRO
0
670
ChatGPT とつくる PHP で OS 実装
m3m0r7
PRO
3
560
事業観点から見る技術的負債の返済
m3m0r7
PRO
4
1.3k
Other Decks in Programming
See All in Programming
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
320
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
430
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
130
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
500
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
640
AHC070解法紹介
eijirou
0
130
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
250
Heart of Swift Concurrency
koher
0
950
スマート反転とウェブアクセシビリティ
camiha
0
210
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
500
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
200
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
2
290
Featured
See All Featured
The Spectacular Lies of Maps
axbom
PRO
1
1k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
710
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Automating Front-end Workflow
addyosmani
1369
210k
BBQ
matthewcrist
89
10k
Accessibility Awareness
sabderemane
1
220
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
530
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